globle void ValueInstall( void *theEnv, DATA_OBJECT *vPtr) { if (vPtr->type == MULTIFIELD) MultifieldInstall(theEnv,(struct multifield *) vPtr->value); else AtomInstall(theEnv,vPtr->type,vPtr->value); }
globle void ExpressionInstall( struct expr *expression) { if (expression == NULL) return; while (expression != NULL) { AtomInstall(expression->type,expression->value); ExpressionInstall(expression->argList); expression = expression->nextArg; } }
globle void IncrementFactBasisCount( void *vFactPtr) { struct fact *factPtr = (struct fact *) vFactPtr; struct multifield *theSegment; int i; IncrementFactCount(factPtr); theSegment = &factPtr->theProposition; for (i = 0 ; i < (int) theSegment->multifieldLength ; i++) { AtomInstall(theSegment->theFields[i].type,theSegment->theFields[i].value); } }
globle void MultifieldInstall( struct multifield *theSegment) { long length, i; /* 6.04 Bug Fix */ struct field *theFields; if (theSegment == NULL) return; length = theSegment->multifieldLength; theSegment->busyCount++; theFields = theSegment->theFields; for (i = 0 ; i < length ; i++) { AtomInstall(theFields[i].type,theFields[i].value); } }
globle void FactInstall( struct fact *newFact) { struct multifield *theSegment; int i; NumberOfFacts++; newFact->whichDeftemplate->busyCount++; theSegment = &newFact->theProposition; for (i = 0 ; i < (int) theSegment->multifieldLength ; i++) { AtomInstall(theSegment->theFields[i].type,theSegment->theFields[i].value); } newFact->factHeader.busyCount++; }
globle void MultifieldInstall( void *theEnv, struct multifield *theSegment) { unsigned long length, i; struct field *theFields; if (theSegment == NULL) return; length = theSegment->multifieldLength; theSegment->busyCount++; theFields = theSegment->theFields; for (i = 0 ; i < length ; i++) { AtomInstall(theEnv,theFields[i].type,theFields[i].value); } }