- 
static void 
AddBlock(
  Cal_Block  b1, 
  Cal_Block  b2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBlk.c
- 
static void 
AddToFreeList(
  Block  b 
)
 
-  AddToFreeList(b) adds b to the appropriate free list.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
static int 
AssociationIsEqual(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t * p, 
  Cal_Bdd_t * q 
)
 
-  Checks for equality of two associations
 
-  Side Effects None
 
-  Defined in  calAssociation.c
- 
static void 
BddAddInternalReferences(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static Cal_Bdd_t * 
BddArrayOpBF(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t* bddArray, 
  int  numFunction, 
  CalOpProc_t  calOpProc 
)
 
-  Internal common routine for Cal_BddPairwiseAnd and Cal_BddPairwiseOr
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
static void 
BddArrayToRequestNodeListArray(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t * calBddArray, 
  int  numBdds 
)
 
-  Converts an array of BDDs to a list of requests representing BDD
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
static Cal_Bdd_t 
BddCofactorBF(
  Cal_BddManager_t * bddManager, 
  CalOpProc_t  calOpProc, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  c 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReduce.c
- 
static void 
BddConvertDataStructBack(
  Cal_BddManager_t * bddManager 
)
 
-  Data structure conversion: thenBddId -> id 
  elseBddId -> ref count
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddConvertDataStruct(
  Cal_BddManager_t * bddManager 
)
 
-  New data structure: thenBddId -> id 
                                          elseBddId -> ref count
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static int 
BddCountNoNodes(
  Cal_Bdd_t  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSize.c
- 
static int 
BddCountNodes(
  Cal_Bdd_t  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSize.c
- 
static Cal_Bdd_t 
BddDFStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  CalOpProc_t  calOpProc, 
  unsigned short  opCode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
BddDefaultTransformFn(
  Cal_BddManager_t * bddManager, 
  CalAddress_t  value1, 
  CalAddress_t  value2, 
  CalAddress_t * result1, 
  CalAddress_t * result2, 
  Cal_Pointer_t  pointer 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddManager.c
- 
static void 
BddDominatedStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  long * funcCounts, 
  CalHashTable_t * h 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSize.c
- 
static void 
BddDumpBddStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  FILE * fp, 
  CalHashTable_t * h, 
  Cal_BddIndex_t * normalizedIndexes, 
  int  indexSize, 
  int  nodeNumberSize 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calDump.c
- 
static void 
BddExchangeAux(
  Cal_BddManager_t * bddManager, 
  CalBddNode_t * f, 
  int  id, 
  int  nextId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddExchangeVarBlocks(
  Cal_BddManager_t * bddManager, 
  Cal_Block  parent, 
  long  blockIndex 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddExchange(
  Cal_BddManager_t * bddManager, 
  long  id 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddExistsApply(
  Cal_BddManager_t * bddManager, 
  int  quantifying, 
  CalHashTable_t * existHashTable, 
  CalHashTable_t ** existHashTableArray, 
  CalOpProc1_t  calOpProc, 
  unsigned short  opCode, 
  CalAssociation_t * assoc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
BddExistsBFAux(
  Cal_BddManager_t * bddManager, 
  int  minIndex, 
  CalHashTable_t ** existHashTableArray, 
  CalHashTable_t ** orHashTableArray, 
  CalOpProc1_t  calOpProc, 
  unsigned short  opCode, 
  CalAssociation_t * assoc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static Cal_Bdd_t 
BddExistsBFPlusDF(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  unsigned short  opCode, 
  CalAssociation_t * association 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
BddExistsReduce(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * existHashTable, 
  CalHashTable_t ** existHashTableArray, 
  CalHashTable_t ** orHashTableArray, 
  unsigned short  opCode, 
  CalAssociation_t * association 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static Cal_Bdd_t 
BddExistsStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  unsigned short  opCode, 
  CalAssociation_t * association 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
BddHighestRefStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  CalHashTable_t * h 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSize.c
- 
static Cal_Bdd_t 
BddIntersectsStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g 
)
 
-  Recursive routine to returns a BDD that implies conjunction of
  argument BDDs
 
-  Side Effects None
 
-  Defined in  cal.c
- 
static void 
BddMarkBdd(
  Cal_Bdd_t  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSize.c
- 
static Cal_Bdd_t 
BddMultiwayOp(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t * calBddArray, 
  int  numBdds, 
  CalOpProc_t  op 
)
 
-  Internal routine for multiway operations
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
static void 
BddNukeInternalReferences(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddPrintBddStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_VarNamingFn_t  VarNamingFn, 
  Cal_TerminalIdFn_t  TerminalIdFn, 
  Cal_Pointer_t  env, 
  FILE * fp, 
  CalHashTable_t* hashTable, 
  int  indentation 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
static void 
BddPrintTopVar(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_VarNamingFn_t  VarNamingFn, 
  Cal_Pointer_t  env, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
static void 
BddProfileStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  long * levelCounts, 
  CountFn_t  countFn 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSize.c
- 
static void 
BddReallocateNodesInPlace(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddReallocateNodes(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static Cal_Bdd_t 
BddReduceBF(
  Cal_BddManager_t * bddManager, 
  CalOpProc_t  calOpProc, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  c 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReduce.c
- 
static void 
BddRelProdApply(
  Cal_BddManager_t * bddManager, 
  int  quantifying, 
  CalHashTable_t * relProdHashTable, 
  CalHashTable_t ** relProdHashTableArray, 
  CalHashTable_t ** andHashTableArray, 
  CalOpProc_t  calOpProc, 
  unsigned short  opCode, 
  CalAssociation_t * assoc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
BddRelProdBFAux(
  Cal_BddManager_t * bddManager, 
  int  minIndex, 
  CalHashTable_t ** relProdHashTableArray, 
  CalHashTable_t ** andHashTableArray, 
  CalHashTable_t ** orHashTableArray, 
  unsigned short  opCode, 
  CalAssociation_t * assoc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static Cal_Bdd_t 
BddRelProdBFPlusDF(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  unsigned short  opCode, 
  CalAssociation_t * association 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
BddRelProdReduce(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * relProdHashTable, 
  CalHashTable_t ** relProdHashTableArray, 
  CalHashTable_t ** andHashTableArray, 
  CalHashTable_t ** orHashTableArray, 
  unsigned short  opCode, 
  CalAssociation_t * assoc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static Cal_Bdd_t 
BddRelProdStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  unsigned short  opCode, 
  CalAssociation_t * assoc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
BddReorderFixAndFreeForwardingNodes(
  Cal_BddManager  bddManager, 
  Cal_BddId_t  id, 
  int  numLevels 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static void 
BddReorderFixForwardingNodes(
  Cal_BddManager  bddManager, 
  Cal_BddId_t  id 
)
 
-  As opposed to CalBddReorderFixCofactors, which fixes
  the cofactors of the non-forwarding nodes, this routine traverses
  the list of forwarding nodes and removes the intermediate level of
  forwarding. Number of levels should be 1 or 2.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static void 
BddReorderFreeNodes(
  Cal_BddManager_t * bddManager, 
  int  varId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static void 
BddReorderSiftAux(
  Cal_BddManager_t * bddManager, 
  Cal_Block  block, 
  Cal_Block * toSift, 
  double  maxSizeFactor 
)
 
-  Reorder variables using "sift" algorithm.
 
-  Side Effects None
 
-  Defined in  calReorderDF.c
- 
static int 
BddReorderSiftToBestPos(
  Cal_BddManager_t * bddManager, 
  int  varStartIndex, 
  double  maxSizeFactor 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static void 
BddReorderSift(
  Cal_BddManager_t * bddManager, 
  double  maxSizeFactor 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddReorderStableWindow3Aux(
  Cal_BddManager_t * bddManager, 
  Cal_Block  block, 
  char * levels 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddReorderStableWindow3(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddReorderSwapVarIndex(
  Cal_BddManager_t * bddManager, 
  int  varIndex, 
  int  forwardCheckFlag 
)
 
-  Traversesoptional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static void 
BddReorderVarSift(
  Cal_BddManager  bddManager, 
  double  maxSizeFactor 
)
 
-  Reorder variables using "sift" algorithm.
 
-  Side Effects None
 
-  Defined in  calReorderBF.c
- 
static void 
BddReorderVarWindow(
  Cal_BddManager  bddManager, 
  char * levels 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static int 
BddReorderWindow2(
  Cal_BddManager  bddManager, 
  long  index, 
  int  directionFlag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static int 
BddReorderWindow2(
  Cal_BddManager_t * bddManager, 
  Cal_Block  block, 
  long  i 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static int 
BddReorderWindow3(
  Cal_BddManager  bddManager, 
  long  index, 
  int  directionFlag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static int 
BddReorderWindow3(
  Cal_BddManager_t * bddManager, 
  Cal_Block  block, 
  long  i 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static Cal_Bdd_t 
BddSatisfyStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSatisfy.c
- 
static Cal_Bdd_t 
BddSatisfySupportStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_BddId_t * support 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSatisfy.c
- 
static double 
BddSatisfyingFractionStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  CalHashTable_t * hashTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSatisfy.c
- 
static void 
BddSiftBlock(
  Cal_BddManager_t * bddManager, 
  Cal_Block  block, 
  long  startPosition, 
  double  maxSizeFactor 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
BddSiftPerfromPhaseIV(
  Cal_BddManager_t * bddManager, 
  int  varStartIndex, 
  int  bestIndex, 
  int  bottomMostSwapIndex 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static long 
BddSizeStep(
  Cal_Bdd_t  f, 
  CountFn_t  countFn 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSize.c
- 
static char * 
BddTerminalId(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_TerminalIdFn_t  TerminalIdFn, 
  Cal_Pointer_t  env 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
static void 
BddTerminalValueAux(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  CalAddress_t * value1, 
  CalAddress_t * value2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
static Cal_Bdd_t 
BddUndumpBddStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t * vars, 
  FILE * fp, 
  Cal_BddIndex_t  numberVars, 
  Cal_Bdd_t * shared, 
  long  numberShared, 
  long * sharedSoFar, 
  int  indexSize, 
  int  nodeNumberSize, 
  int * error 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calDump.c
- 
static int 
BlockSizeIndex(
  Cal_Address_t  size 
)
 
-  BlockSizeIndex(size) return the coded size for a block.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
static Block 
Buddy(
  Block  b 
)
 
-  Buddy(b) returns the Buddy block of b, or null if there is no  Buddy.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
static int 
BytesNeeded(
  long  n 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calDump.c
- 
static void 
CacheTablePrint(
  CalCacheTable_t * cacheTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
static void 
CacheTableTwoRehash(
  CalCacheTable_t * cacheTable, 
  int  grow 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalAlignCollisionChains(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
void 
CalAssociationListFree(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calAssociation.c
- 
int 
CalBddArrayPreProcessing(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd * userBddArray 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
void 
CalBddBlockDelta(
  Cal_Block  b, 
  long  delta 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBlk.c
- 
static int 
CalBddDependsOnStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_BddIndex_t  varIndex, 
  int  mark 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSupport.c
- 
void 
CalBddFatalMessage(
  char * string 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
long 
CalBddFindBlock(
  Cal_Block  block, 
  long  index 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBlk.c
- 
void 
CalBddFunctionPrint(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  calBdd, 
  char * name 
)
 
-  Prints the function implemented by the argument BDD
 
-  Side Effects None
 
-  Defined in  calUtil.c
- 
Cal_Bdd 
CalBddGetExternalBdd(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  internalBdd 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
Cal_Bdd_t 
CalBddGetInternalBdd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
Cal_Bdd_t 
CalBddITE(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  F, 
  Cal_Bdd_t  G, 
  Cal_Bdd_t  H 
)
 
-  Returns the BDD for logical If-Then-Else
 
   Description [Returns the BDD for the logical operation IF f THEN g ELSE h
   - f g + f' h
 
-  Side Effects None
 
-  See Also Cal_BddAnd
Cal_BddNand
Cal_BddOr
Cal_BddNor
Cal_BddXor
Cal_BddXnor
-  Defined in  calBddITE.c
- 
Cal_Bdd_t 
CalBddIdentity(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  calBdd 
)
 
-  Returns the duplicate BDD of the argument BDD.
 
-  Side Effects The reference count of the BDD is increased by 1.
 
-  See Also Cal_BddNot
-  Defined in  cal.c
- 
Cal_Bdd_t 
CalBddIf(
  Cal_BddManager  bddManager, 
  Cal_Bdd_t  F 
)
 
-  Returns the BDD corresponding to the top variable of
  the argument BDD.
 
-  Side Effects None.
 
-  Defined in  cal.c
- 
int 
CalBddIsCubeStep(
  Cal_BddManager  bddManager, 
  Cal_Bdd_t  f 
)
 
-  Returns 1 if the argument BDD is a cube, 0 otherwise
 
-  Side Effects None
 
-  Defined in  cal.c
- 
Cal_Bdd_t 
CalBddManagerCreateNewVar(
  Cal_BddManager_t * bddManager, 
  Cal_BddIndex_t  index 
)
 
-  Right now this function does not handle the case when the
  package is working in multiprocessor mode. We need to put in the necessary
  code later.
 
-  Side Effects If the number of variables in the manager exceeds that of value
  of numMaxVars, then we need to reallocate various fields of the manager. Also
  depending upon the value of "index", idToIndex and indexToId tables would
  change.
 
-  Defined in  calBddManager.c
- 
void 
CalBddManagerGCCheck(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calGC.c
- 
void 
CalBddManagerGetCacheTableData(
  Cal_BddManager_t * bddManager, 
  unsigned long * cacheSize, 
  unsigned long * cacheEntries, 
  unsigned long * cacheInsertions, 
  unsigned long * cacheLookups, 
  unsigned long * cacheHits, 
  unsigned long * cacheCollisions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
static int 
CalBddManagerPrint(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddManager.c
- 
void 
CalBddMarkSharedNodes(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
void 
CalBddNodePrint(
  CalBddNode_t * bddNode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
void 
CalBddNumberSharedNodes(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  CalHashTable_t * hashTable, 
  long * next 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
Cal_Bdd_t 
CalBddOpBF(
  Cal_BddManager_t * bddManager, 
  CalOpProc_t  calOpProc, 
  Cal_Bdd_t  F, 
  Cal_Bdd_t  G 
)
 
-  Internal routine to compute a logical operation on a pair of BDDs
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd_t 
CalBddOpITEBF(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  Cal_Bdd_t  h 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddITE.c
- 
void 
CalBddPackNodesAfterReorderForSingleId(
  Cal_BddManager_t * bddManager, 
  int  fixForwardedNodesFlag, 
  int  bestIndex, 
  int  bottomIndex 
)
 
-  fixForwardedNodesFlag: Whether we need to fix
  the forwarded nodes of variables corresponding to bestIndex through
  bottomIndex. If this flag is set, then the forwarded nodes of these
  variables are traversed and updated after the nodes of the bestIndex
  have been copied. At the end the forwarded nodes are freed. If this
  flag is not set, it is assumed that the cleanup pass has already
  been performed.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalBddPackNodesForMultipleIds(
  Cal_BddManager_t * bddManager, 
  Cal_BddId_t  beginId, 
  int  numLevels 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalBddPackNodesForSingleId(
  Cal_BddManager_t * bddManager, 
  Cal_BddId_t  id 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
int 
CalBddPostProcessing(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
int 
CalBddPreProcessing(
  Cal_BddManager_t * bddManager, 
  int  count, 
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
static void 
CalBddPrintProfileAux(
  Cal_BddManager_t * bddManager, 
  long * levelCounts, 
  Cal_VarNamingFn_t  varNamingProc, 
  char * env, 
  int  lineLength, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrintProfile.c
- 
void 
CalBddPrint(
  Cal_Bdd_t  calBdd 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
void 
CalBddReorderAuxBF(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
void 
CalBddReorderAuxDF(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
void 
CalBddReorderFixCofactors(
  Cal_BddManager  bddManager, 
  Cal_BddId_t  id 
)
 
-  This routine traverses the unique table and for
  each node, looks at the then and else cofactors. If needed fixes the
  cofactors.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
void 
CalBddReorderFixProvisionalNodes(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPipeline.c
- 
void 
CalBddReorderFixUserBddPtrs(
  Cal_BddManager  bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
void 
CalBddReorderReclaimForwardedNodes(
  Cal_BddManager  bddManager, 
  int  startIndex, 
  int  endIndex 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
Cal_Block 
CalBddShiftBlock(
  Cal_BddManager_t * bddManager, 
  Cal_Block  b, 
  long  index 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBlk.c
- 
static Cal_Bdd_t * 
CalBddSupportStep(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t * support 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSupport.c
- 
int 
CalBddTypeAux(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f 
)
 
-  Returns the BDD type by recursively traversing the argument BDD
 
-  Side Effects None
 
-  Defined in  cal.c
- 
unsigned long 
CalBddUniqueTableNumLockedNodes(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * uniqueTableForId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
static void 
CalBddUnmarkNodes(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSupport.c
- 
char * 
CalBddVarName(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  v, 
  Cal_VarNamingFn_t  VarNamingFn, 
  Cal_Pointer_t  env 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
Cal_Bdd_t 
CalBddVarSubstitute(
  Cal_BddManager  bddManager, 
  Cal_Bdd_t  f, 
  unsigned short  opCode, 
  CalAssociation_t * assoc 
)
 
-  Returns a BDD for f using the substitution defined by current
  variable association. Each variable is replaced by its associated BDDs. The 
  substitution is effective simultaneously
 
-  Side Effects None
 
-  See Also Cal_BddCompose
-  Defined in  calBddVarSubstitute.c
- 
void 
CalBddWarningMessage(
  char * string 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
unsigned long 
CalBlockMemoryConsumption(
  Cal_Block  block 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBlk.c
- 
unsigned long 
CalCacheTableMemoryConsumption(
  CalCacheTable_t * cacheTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTablePrint(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTableRehash(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTableTwoFixResultPointers(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
int 
CalCacheTableTwoFlushAll(
  CalCacheTable_t * cacheTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTableTwoFlushAssociationId(
  Cal_BddManager_t * bddManager, 
  int  associationId 
)
 
-  Flushes the entries from the cache which
                      correspond to the given associationId.
 
-  Side Effects Cache entries are affected.
 
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTableTwoFlush(
  CalCacheTable_t * cacheTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTableTwoGCFlush(
  CalCacheTable_t * cacheTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
CalCacheTable_t * 
CalCacheTableTwoInit(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTableTwoInsert(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  Cal_Bdd_t  result, 
  unsigned long  opCode, 
  int  cacheLevel 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
int 
CalCacheTableTwoLookup(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  unsigned long  opCode, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
int 
CalCacheTableTwoQuit(
  CalCacheTable_t * cacheTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCacheTableTwoRepackUpdate(
  CalCacheTable_t * cacheTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
int 
CalCheckAllValidity(
  Cal_BddManager  bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
void 
CalCheckAssociationValidity(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calAssociation.c
- 
int 
CalCheckAssoc(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
void 
CalCheckCacheTableValidity(
  Cal_BddManager  bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calCacheTableTwo.c
- 
void 
CalCheckPipelineValidity(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPipeline.c
- 
void 
CalCheckRefCountValidity(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
int 
CalCheckValidityOfANode(
  Cal_BddManager_t * bddManager, 
  CalBddNode_t * bddNode, 
  int  id 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
int 
CalCheckValidityOfNodesForId(
  Cal_BddManager  bddManager, 
  int  id 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
int 
CalCheckValidityOfNodesForWindow(
  Cal_BddManager  bddManager, 
  Cal_BddIndex_t  index, 
  int  numLevels 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
void 
CalComposeRequestCreate(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  h, 
  Cal_BddIndex_t  composeIndex, 
  CalHashTable_t ** reqQueForCompose, 
  CalHashTable_t ** reqQueForITE, 
  Cal_Bdd_t * resultPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddCompose.c
- 
int 
CalDecreasingOrderCompare(
  const void * a, 
  const void * b 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
void 
CalFixupAssoc(
  Cal_BddManager_t * bddManager, 
  long  id1, 
  long  id2, 
  CalAssociation_t * assoc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderUtil.c
- 
void 
CalFreeBlockRecursively(
  Cal_Block  block 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBlk.c
- 
int 
CalHashTableAddDirectAux(
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  thenBdd, 
  Cal_Bdd_t  elseBdd, 
  Cal_Bdd_t * bddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalHashTableAddDirect(
  CalHashTable_t * hashTable, 
  CalBddNode_t * bddNode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalHashTableApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t ** reqQueAtPipeDepth, 
  CalOpProc_t  calOpProc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calApplyReduce.c
- 
void 
CalHashTableCleanUp(
  CalHashTable_t * hashTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalHashTableComposeApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  Cal_BddIndex_t  gIndex, 
  CalHashTable_t ** reqQueForCompose, 
  CalHashTable_t ** reqQueForITE 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddCompose.c
- 
void 
CalHashTableDelete(
  CalHashTable_t * hashTable, 
  CalBddNode_t * bddNode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
int 
CalHashTableFindOrAdd(
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  thenBdd, 
  Cal_Bdd_t  elseBdd, 
  Cal_Bdd_t * bddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
int 
CalHashTableGC(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable 
)
 
-  The input is the hash table containing the nodes
  belonging to that level. Each bin of the hash table is traversed and
  the Bdd nodes with 0 reference count are put at the appropriate
  level in the processing que of the manager.
 
-  Side Effects The number of nodes in the hash table can possibly decrease.
 
-  See Also optional
-  Defined in  calGC.c
- 
void 
CalHashTableITEApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t ** reqQueAtPipeDepth 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddITE.c
- 
CalHashTable_t * 
CalHashTableInit(
  Cal_BddManager_t * bddManager, 
  Cal_BddId_t  bddId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
int 
CalHashTableLookup(
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  thenBdd, 
  Cal_Bdd_t  elseBdd, 
  Cal_Bdd_t * bddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
CalHashTable_t * 
CalHashTableOneInit(
  Cal_BddManager_t * bddManager, 
  int  itemSize 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTableOne.c
- 
void 
CalHashTableOneInsert(
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  keyBdd, 
  char * valuePtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTableOne.c
- 
int 
CalHashTableOneLookup(
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  keyBdd, 
  char ** valuePtrPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTableOne.c
- 
void 
CalHashTableOnePrint(
  CalHashTable_t * hashTable, 
  int  flag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
void 
CalHashTableOneQuit(
  CalHashTable_t * hashTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTableOne.c
- 
void 
CalHashTablePrint(
  CalHashTable_t * hashTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
int 
CalHashTableQuit(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalHashTableReduce(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t * uniqueTableForId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calApplyReduce.c
- 
void 
CalHashTableRehash(
  CalHashTable_t * hashTable, 
  int  grow 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
static void 
CalHashTableSubstituteApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  int  lastIndex, 
  CalHashTable_t ** reqQueForSubstitute 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSubstitute.c
- 
static void 
CalHashTableSubstituteApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  int  lastIndex, 
  CalHashTable_t ** reqQueForSubstitute, 
  unsigned short  opCode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddVarSubstitute.c
- 
static void 
CalHashTableSubstituteReduce(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t ** reqQueForITE, 
  CalHashTable_t * uniqueTableForId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSubstitute.c
- 
static void 
CalHashTableSubstituteReduce(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t ** reqQueForITE, 
  CalHashTable_t * uniqueTableForId, 
  unsigned short  opCode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddVarSubstitute.c
- 
static void 
CalHashTableSwapVarsApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  Cal_BddIndex_t  gIndex, 
  Cal_BddIndex_t  hIndex, 
  CalHashTable_t ** reqQueForSwapVars, 
  CalHashTable_t ** reqQueForSwapVarsPlus, 
  CalHashTable_t ** reqQueForSwapVarsMinus, 
  CalHashTable_t ** reqQueForCompose, 
  CalHashTable_t ** reqQueForITE 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSwapVars.c
- 
static void 
CalHashTableSwapVarsMinusApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  Cal_BddIndex_t  hIndex, 
  CalHashTable_t ** reqQueForSwapVars, 
  CalHashTable_t ** reqQueForSwapVarsPlus, 
  CalHashTable_t ** reqQueForSwapVarsMinus, 
  CalHashTable_t ** reqQueForCompose 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSwapVars.c
- 
static void 
CalHashTableSwapVarsPlusApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  Cal_BddIndex_t  hIndex, 
  CalHashTable_t ** reqQueForSwapVars, 
  CalHashTable_t ** reqQueForSwapVarsPlus, 
  CalHashTable_t ** reqQueForSwapVarsMinus, 
  CalHashTable_t ** reqQueForCompose 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSwapVars.c
- 
int 
CalHashTableThreeFindOrAdd(
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  Cal_Bdd_t  h, 
  Cal_Bdd_t * bddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTableThree.c
- 
static void 
CalHashTableThreeRehash(
  CalHashTable_t * hashTable, 
  int  grow 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTableThree.c
- 
int 
CalIncreasingOrderCompare(
  const void * a, 
  const void * b 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
int 
CalInitInteract(
  Cal_BddManager_t * bddManager 
)
 
-  Initializes the interaction matrix. The interaction
  matrix is implemented as a bit vector storing the upper triangle of
  the symmetric interaction matrix. The bit vector is kept in an array
  of long integers. The computation is based on a series of depth-first
  searches, one for each root of the DAG. A local flag (the mark bits)
  is used.
 
-  Side Effects None
 
-  Defined in  calInteract.c
- 
CalNodeManager_t * 
CalNodeManagerInit(
  CalPageManager_t * pageManager 
)
 
-  optional
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
void 
CalNodeManagerPrint(
  CalNodeManager_t * nodeManager 
)
 
-  optional
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
int 
CalNodeManagerQuit(
  CalNodeManager_t * nodeManager 
)
 
-  optional
 
-  Side Effects The associated nodes are lost.
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
int 
CalOpAnd(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  F, 
  Cal_Bdd_t  G, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTerminal.c
- 
int 
CalOpBddVarSubstitute(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddVarSubstitute.c
- 
int 
CalOpCofactor(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  c, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReduce.c
- 
int 
CalOpExists(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
Cal_Bdd_t 
CalOpITE(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  Cal_Bdd_t  h, 
  CalHashTable_t ** reqQueForITE 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTerminal.c
- 
int 
CalOpNand(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  F, 
  Cal_Bdd_t  G, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTerminal.c
- 
int 
CalOpOr(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  F, 
  Cal_Bdd_t  G, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTerminal.c
- 
int 
CalOpRelProd(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  Cal_Bdd_t  g, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
int 
CalOpXor(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  F, 
  Cal_Bdd_t  G, 
  Cal_Bdd_t * resultBddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTerminal.c
- 
void 
CalPackNodes(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
CalAddress_t * 
CalPageManagerAllocPage(
  CalPageManager_t * pageManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
void 
CalPageManagerFreePage(
  CalPageManager_t * pageManager, 
  CalAddress_t * page 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
CalPageManager_t * 
CalPageManagerInit(
  int  numPagesPerSegment 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
void 
CalPageManagerPrint(
  CalPageManager_t * pageManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
int 
CalPageManagerQuit(
  CalPageManager_t * pageManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
static void 
CalPerformaceTestSuperscalar(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceMemoryOverhead(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestAnd(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestCompose(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestMultiway(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestNonSuperscalar(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestOneway(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestQuantifyAllTogether(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions, 
  int  bfZeroBFPlusDFOne, 
  int  cacheExistsResultsFlag, 
  int  cacheOrResultsFlag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestRelProd(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions, 
  int  bfZeroBFPlusDFOne, 
  int  cacheRelProdResultsFlag, 
  int  cacheAndResultsFlag, 
  int  cacheOrResultsFlag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestSubstitute(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalPerformanceTestSwapVars(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
CalQuantifySanityCheck(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
void 
CalReorderAssociationFix(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calAssociation.c
- 
static void 
CalRepackNodesAfterGC(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calGC.c
- 
void 
CalRequestNodeListArrayITE(
  Cal_BddManager_t * bddManager, 
  CalRequestNode_t ** requestNodeListArray 
)
 
-  This routine is to be used for pipelined and
  superscalar ITE operations. Currently there is no user interface
  provided to this routine.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddITE.c
- 
void 
CalRequestNodeListArrayOp(
  Cal_BddManager_t * bddManager, 
  CalRequestNode_t ** requestNodeListArray, 
  CalOpProc_t  calOpProc 
)
 
-  Computes result BDDs for an array of lists, each entry of which
  is pair of pointers, each of which points to a operand BDD or an entry in
  another list with a smaller array index
 
-  Side Effects ThenBDD pointer of an entry is over written by the result BDD
  and ElseBDD pointer is marked using FORWARD_FLAG
 
-  Defined in  calBddOp.c
- 
void 
CalRequestNodeListCompose(
  Cal_BddManager_t * bddManager, 
  CalRequestNode_t * requestNodeList, 
  Cal_BddIndex_t  composeIndex 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddCompose.c
- 
void 
CalSetInteract(
  Cal_BddManager_t * bddManager, 
  int  x, 
  int  y 
)
 
-  Given a pair of variables 0 <= x < y < table->size,
  sets the corresponding bit of the interaction matrix to 1.
 
-  Side Effects None
 
-  Defined in  calInteract.c
- 
int 
CalTestInteract(
  Cal_BddManager_t * bddManager, 
  int  x, 
  int  y 
)
 
-  Given a pair of variables 0 <= x < y < bddManager->numVars,
  tests whether the corresponding bit of the interaction matrix is 1.
  Returns the value of the bit.
 
-  Side Effects None
 
-  Defined in  calInteract.c
- 
int 
CalUniqueTableForIdFindOrAdd(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  thenBdd, 
  Cal_Bdd_t  elseBdd, 
  Cal_Bdd_t * bddPtr 
)
 
-  optional
 
-  Side Effects If a new BDD node is created (found == false), then the
  numNodes field of the manager needs to be incremented.
 
-  See Also optional
-  Defined in  calHashTable.c
- 
int 
CalUniqueTableForIdLookup(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  Cal_Bdd_t  thenBdd, 
  Cal_Bdd_t  elseBdd, 
  Cal_Bdd_t * bddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalUniqueTableForIdRehashNode(
  CalHashTable_t * hashTable, 
  CalBddNode_t * bddNode, 
  CalBddNode_t * thenBddNode, 
  CalBddNode_t * elseBddNode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTable.c
- 
void 
CalUniqueTablePrint(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calUtil.c
- 
void 
CalVarAssociationRepackUpdate(
  Cal_BddManager_t * bddManager, 
  Cal_BddId_t  id 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calAssociation.c
- 
int 
Cal_AssociationInit(
  Cal_BddManager  bddManager, 
  Cal_Bdd * associationInfoUserBdds, 
  int  pairs 
)
 
-  Creates or finds a variable association. The association is
  specified by associationInfo, which is a an array of BDD with 
  Cal_BddNull(bddManager) as the end marker. If pairs is 0, the array is
  assumed to be an array of variables. In this case, each variable is paired
  with constant BDD one. Such an association may viewed as specifying a set
  of variables for use with routines such as Cal_BddExists. If pair is not 0,
  then the even numbered array elements should be variables and the odd numbered
  elements should be the BDDs which they are mapped to. In both cases, the 
  return value is an integer identifier for this association. If the given
  association is equivalent to one which already exists, the same identifier
  is used for both, and the reference count of the association is increased by
  one.
 
-  Side Effects None
 
-  See Also Cal_AssociationQuit
-  Defined in  calAssociation.c
- 
void 
Cal_AssociationQuit(
  Cal_BddManager  bddManager, 
  int  associationId 
)
 
-  Decrements the reference count of the variable association with
  identifier id, and frees it if the reference count becomes zero.
 
-  Side Effects None
 
-  See Also Cal_AssociationInit
-  Defined in  calAssociation.c
- 
int 
Cal_AssociationSetCurrent(
  Cal_BddManager  bddManager, 
  int  associationId 
)
 
-  Sets the current variable association to the one given by id and
  returns the ID of the old association.  An id of -1 indicates the temporary
  association
 
-  Side Effects None
 
-  Defined in  calAssociation.c
- 
Cal_Bdd 
Cal_BddAnd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Returns the BDD for logical AND of f and g
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd 
Cal_BddBetween(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fMinUserBdd, 
  Cal_Bdd  fMaxUserBdd 
)
 
-  Returns a minimal BDD f which is contains fMin and is
  contained in fMax ( fMin <= f <= fMax).
  This operation is typically used in state space searches to simplify
  the representation for the set of states wich will be expanded at
  each step (Rk Rk-1' <= f <= Rk).
 
-  Side Effects None
 
-  See Also Cal_BddReduce
-  Defined in  calReduce.c
- 
Cal_Bdd 
Cal_BddCofactor(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  cUserBdd 
)
 
-  Returns the generalized cofactor of BDD f with respect
  to BDD c. The constrain operator given by Coudert et al (ICCAD90) is
  used to find the generalized cofactor.
 
-  Side Effects None.
 
-  See Also Cal_BddReduce
-  Defined in  calReduce.c
- 
Cal_Bdd 
Cal_BddCompose(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd, 
  Cal_Bdd  hUserBdd 
)
 
-  Returns the BDD obtained by substituting a variable by a function
 
-  Side Effects None
 
-  Defined in  calBddCompose.c
- 
int 
Cal_BddDependsOn(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  varUserBdd 
)
 
-  Returns 1 if f depends on var and returns 0 otherwise.
 
-  Side Effects None
 
-  Defined in  calBddSupport.c
- 
int 
Cal_BddDumpBdd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd * userVars, 
  FILE * fp 
)
 
-  Writes an encoded description of the BDD to the file given by fp.
  The argument vars should be a null-terminated array of variables that include
  the support of f .  These variables need not be in order of increasing index.
  The function returns a nonzero value if f was written to the file successfully.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calDump.c
- 
void 
Cal_BddDynamicReordering(
  Cal_BddManager  bddManager, 
  int  technique 
)
 
-  Selects the method for dynamic reordering.
 
-  Side Effects None
 
-  See Also Cal_BddReorder
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddElse(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns the negative cofactor of the argument BDD with
  respect to the top variable of the BDD.
 
-  Side Effects The reference count of the returned BDD is increased by 1.
 
-  See Also Cal_BddThen
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddExists(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  Returns the BDD for f with all the variables that are
  paired with something in the current variable association
  existentially quantified out.
 
-  Side Effects None.
 
-  See Also Cal_BddRelProd
-  Defined in  calQuant.c
- 
Cal_Bdd 
Cal_BddForAll(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  Returns the BDD for f with all the variables that are
  paired with something in the current variable association
  universally quantified out.
 
-  Side Effects None.
 
-  Defined in  calQuant.c
- 
void 
Cal_BddFree(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Frees the argument BDD. It is an error to free a BDD
  more than once.
 
-  Side Effects The reference count of the argument BDD is decreased by 1.
 
-  See Also Cal_BddUnFree
-  Defined in  cal.c
- 
void 
Cal_BddFunctionPrint(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd, 
  char * name 
)
 
-  Prints the function implemented by the argument BDD
 
-  Side Effects None
 
-  Defined in  calUtil.c
- 
void 
Cal_BddFunctionProfileMultiple(
  Cal_BddManager  bddManager, 
  Cal_Bdd * fUserBddArray, 
  long * funcCounts 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calBddSize.c
- 
void 
Cal_BddFunctionProfile(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  long * funcCounts 
)
 
-  The nth entry of the function
  profile array is the number of subfunctions of f which may be obtained by 
  restricting the variables whose index is less than n.  An entry of zero 
  indicates that f is independent of the variable with the corresponding index.
 
-  See Also optional
-  Defined in  calBddSize.c
- 
Cal_BddId_t 
Cal_BddGetIfId(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns the id of the top variable of the argument BDD.
 
-  Side Effects None
 
-  See Also Cal_BddGetIfIndex
-  Defined in  cal.c
- 
Cal_BddId_t 
Cal_BddGetIfIndex(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns the index of the top variable of the argument BDD.
 
-  Side Effects None
 
-  See Also Cal_BddGetIfId
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddGetRegular(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns a BDD with positive from a given BDD with arbitrary phase
 
-  Side Effects None.
 
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddITE(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd, 
  Cal_Bdd  hUserBdd 
)
 
-  Returns the BDD for logical If-Then-Else
  Description [Returns the BDD for the logical operation IF f THEN g ELSE h
  - f g + f' h
 
-  Side Effects None
 
-  See Also Cal_BddAnd
Cal_BddNand
Cal_BddOr
Cal_BddNor
Cal_BddXor
Cal_BddXnor
-  Defined in  calBddITE.c
- 
Cal_Bdd 
Cal_BddIdentity(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns the duplicate BDD of the argument BDD.
 
-  Side Effects The reference count of the BDD is increased by 1.
 
-  See Also Cal_BddNot
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddIf(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns the BDD corresponding to the top variable of
  the argument BDD.
 
-  Side Effects None.
 
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddImplies(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Computes a BDD that implies conjunction of f and Cal_BddNot(g)
 
-  Side Effects none
 
-  See Also Cal_BddIntersects
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddIntersects(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Computes a BDD that implies conjunction of f and g.
 
-  Side Effects None
 
-  See Also Cal_BddImplies
-  Defined in  cal.c
- 
int 
Cal_BddIsBddConst(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns 1 if the argument BDD is either constant one or
  constant zero, otherwise returns 0.
 
-  Side Effects None.
 
-  See Also Cal_BddIsBddOne
Cal_BddIsBddZero
-  Defined in  cal.c
- 
int 
Cal_BddIsBddNull(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns 1 if the argument BDD is NULL, 0 otherwise.
 
-  Side Effects None.
 
-  Defined in  cal.c
- 
int 
Cal_BddIsBddOne(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns 1 if the argument BDD is constant one, 0 otherwise.
 
-  Side Effects None.
 
-  See Also Cal_BddIsBddZero
-  Defined in  cal.c
- 
int 
Cal_BddIsBddZero(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns 1 if the argument BDD is constant zero, 0 otherwise.
 
-  Side Effects None.
 
-  See Also Cal_BddIsBddOne
-  Defined in  cal.c
- 
int 
Cal_BddIsCube(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  Returns 1 if the argument BDD is a cube, 0 otherwise
 
-  Side Effects None
 
-  Defined in  cal.c
- 
int 
Cal_BddIsEqual(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd1, 
  Cal_Bdd  userBdd2 
)
 
-  Returns 1 if argument BDDs are equal, 0 otherwise.
 
-  Side Effects None.
 
-  Defined in  cal.c
- 
int 
Cal_BddIsProvisional(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns 1, if the given user BDD contains
  provisional BDD node.
 
-  Side Effects None.
 
-  Defined in  calPipeline.c
- 
Cal_Bdd 
Cal_BddManagerCreateNewVarAfter(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Creates and returns a new variable after the specified one in
  the variable  order.
 
-  Side Effects None
 
-  Defined in  calBddManager.c
- 
Cal_Bdd 
Cal_BddManagerCreateNewVarBefore(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Creates and returns a new variable before the specified one in
  the variable order.
 
-  Side Effects None
 
-  Defined in  calBddManager.c
- 
Cal_Bdd 
Cal_BddManagerCreateNewVarFirst(
  Cal_BddManager  bddManager 
)
 
-  Creates and returns a new variable at the start of the
  variable order.
 
-  Side Effects None
 
-  Defined in  calBddManager.c
- 
Cal_Bdd 
Cal_BddManagerCreateNewVarLast(
  Cal_BddManager  bddManager 
)
 
-  Creates and returns a new variable at the end of the variable
  order.
 
-  Side Effects None
 
-  Defined in  calBddManager.c
- 
int 
Cal_BddManagerGC(
  Cal_BddManager  bddManager 
)
 
-  For each variable in the increasing id free nodes with reference
  count equal to zero freeing a node results in decrementing reference count of
  then and else nodes by one.
 
-  Side Effects None.
 
-  Defined in  calGC.c
- 
void * 
Cal_BddManagerGetHooks(
  Cal_BddManager  bddManager 
)
 
-  Returns the hooks field of the manager.
 
-  Side Effects None
 
-  Defined in  cal.c
- 
unsigned long 
Cal_BddManagerGetNumNodes(
  Cal_BddManager  bddManager 
)
 
-  Returns the number of BDD nodes
 
-  Side Effects None
 
-  See Also Cal_BddTotalSize
-  Defined in  calBddManager.c
- 
Cal_Bdd 
Cal_BddManagerGetVarWithId(
  Cal_BddManager  bddManager, 
  Cal_BddId_t  id 
)
 
-  Returns the variable with the specified id, null if no
  such variable exists
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calBddManager.c
- 
Cal_Bdd 
Cal_BddManagerGetVarWithIndex(
  Cal_BddManager  bddManager, 
  Cal_BddIndex_t  index 
)
 
-  Returns the variable with the specified index, null if no
  such variable exists
 
-  Side Effects None
 
-  Defined in  calBddManager.c
- 
Cal_BddManager 
Cal_BddManagerInit(
    
)
-  Initializes and allocates fields of the BDD manager. Some of the
  fields are initialized for maxNumVars+1 or numVars+1, whereas some of them are
  initialized for maxNumVars or numVars. The first kind of fields are associated
  with the id of a variable and the second ones are with the index of the
  variable.
 
-  Side Effects None
 
-  See Also Cal_BddManagerQuit
-  Defined in  calBddManager.c
- 
int 
Cal_BddManagerQuit(
  Cal_BddManager  bddManager 
)
 
-  Frees the BDD manager and all the associated allocations
 
-  Side Effects None
 
-  See Also Cal_BddManagerInit
-  Defined in  calBddManager.c
- 
void 
Cal_BddManagerSetGCLimit(
  Cal_BddManager  manager 
)
 
-  It tries to set the limit at twice the number of nodes
  in the manager at the current point. However, the limit is not
  allowed to fall below the MIN_GC_LIMIT or to exceed the value of
  node limit (if one exists).
 
-  Side Effects None.
 
-  Defined in  calGC.c
- 
void 
Cal_BddManagerSetHooks(
  Cal_BddManager  bddManager, 
  void * hooks 
)
 
-  Sets the hooks field of the manager.
 
-  Side Effects Hooks field changes.
 
-  Defined in  cal.c
- 
void 
Cal_BddManagerSetParameters(
  Cal_BddManager  bddManager, 
  long  reorderingThreshold, 
  long  maxForwardedNodes, 
  double  repackAfterGCThreshold, 
  double  tableRepackThreshold 
)
 
-  This function is used to set the parameters which are
  used to control the reordering process. "reorderingThreshold"
  determines the number of nodes below which reordering will NOT be
  invoked, "maxForwardedNodes" determines the maximum number of
  forwarded nodes which are allowed (at that point the cleanup must be
  done), and "repackingThreshold" determines the fraction of the page
  utilized below which repacking has to be invoked. These parameters
  have different affect on the computational and memory usage aspects
  of reordeing. For instance, higher value of "maxForwardedNodes" will
  result in process consuming more memory, and a lower value on the
  other hand would invoke the cleanup process repeatedly resulting in
  increased computation.
 
-  Side Effects None
 
-  Defined in  calBddManager.c
- 
Cal_Bdd 
Cal_BddMultiwayAnd(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBddArray 
)
 
-  Returns the BDD for logical AND of set of BDDs in the bddArray
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd 
Cal_BddMultiwayOr(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBddArray 
)
 
-  Returns the BDD for logical OR of set of BDDs in the bddArray
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd 
Cal_BddMultiwayXor(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBddArray 
)
 
-  Returns the BDD for logical XOR of set of BDDs in the bddArray
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd 
Cal_BddNand(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Returns the BDD for logical NAND of f and g
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Block 
Cal_BddNewVarBlock(
  Cal_BddManager  bddManager, 
  Cal_Bdd  variable, 
  long  length 
)
 
-  The block is specified by passing the first
  variable and the length of the block. The "length" number of
  consecutive variables starting from "variable" are put in the
  block.
 
-  Side Effects A new block is created.
 
-  Defined in  calBlk.c
- 
long 
Cal_BddNodeLimit(
  Cal_BddManager  bddManager, 
  long  newLimit 
)
 
-  Sets the node limit to new_limit and returns the old limit.
 
-  Side Effects Threshold for garbage collection may change
 
-  See Also Cal_BddManagerGC
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddNor(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Returns the BDD for logical NOR of f and g
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd 
Cal_BddNot(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns the complement of the argument BDD.
 
-  Side Effects The reference count of the argument BDD is increased by 1.
 
-  See Also Cal_BddIdentity
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddOne(
  Cal_BddManager  bddManager 
)
 
-  Returns the BDD for the constant one
 
-  Side Effects None
 
-  See Also Cal_BddZero
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddOr(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Returns the BDD for logical OR of f and g
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
int 
Cal_BddOverflow(
  Cal_BddManager  bddManager 
)
 
-  Returns 1 if the node limit has been exceeded, 0 otherwise. The
  overflow flag is cleared.
 
-  Side Effects None
 
-  See Also Cal_BddNodeLimit
-  Defined in  cal.c
- 
Cal_Bdd * 
Cal_BddPairwiseAnd(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBddArray 
)
 
-  Returns an array of BDDs obtained by logical AND of BDD pairs
  specified by an BDD array in which a BDD at an even location is paired with
  a BDD at an odd location of the array
 
-  Side Effects None
 
-  See Also Cal_BddPairwiseOr
-  Defined in  calBddOp.c
- 
Cal_Bdd * 
Cal_BddPairwiseOr(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBddArray 
)
 
-  Returns an array of BDDs obtained by logical OR of BDD pairs
  specified by an BDD array in which a BDD at an even location is paired with
  a BDD at an odd location of the array
 
-  Side Effects None
 
-  See Also Cal_BddPairwiseAnd
-  Defined in  calBddOp.c
- 
Cal_Bdd * 
Cal_BddPairwiseXor(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBddArray 
)
 
-  Returns an array of BDDs obtained by logical XOR of BDD pairs
  specified by an BDD array in which a BDD at an even location is paired with
  a BDD at an odd location of the array
 
-  Side Effects None
 
-  See Also Cal_BddPairwiseAnd
-  Defined in  calBddOp.c
- 
void 
Cal_BddPrintBdd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_VarNamingFn_t  VarNamingFn, 
  Cal_TerminalIdFn_t  TerminalIdFn, 
  Cal_Pointer_t  env, 
  FILE * fp 
)
 
-  Prints a human-readable representation of the BDD f to
  the file given by fp. The namingFn should be a pointer to a function
  taking a bddManager, a BDD and the pointer given by env. This
  function should return either a null pointer or a srting that is the
  name of the supplied variable. If it returns a null pointer, a
  default name is generated based on the index of the variable. It is
  also legal for naminFN to e null; in this case, default names are
  generated for all variables. The macro bddNamingFnNone is a null
  pointer of suitable type. terminalIdFn should be apointer to a
  function taking a bddManager and two longs. plus the pointer given
  by the env. It should return either a null pointer. If it returns a
  null pointer, or if terminalIdFn is null, then default names are
  generated for the terminals. The macro bddTerminalIdFnNone is a null
  pointer of suitable type.
 
-  Side Effects None.
 
-  Defined in  calPrint.c
- 
void 
Cal_BddPrintFunctionProfileMultiple(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBdds, 
  Cal_VarNamingFn_t  varNamingProc, 
  char * env, 
  int  lineLength, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calPrintProfile.c
- 
void 
Cal_BddPrintFunctionProfile(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f, 
  Cal_VarNamingFn_t  varNamingProc, 
  char * env, 
  int  lineLength, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calPrintProfile.c
- 
void 
Cal_BddPrintProfileMultiple(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userBdds, 
  Cal_VarNamingFn_t  varNamingProc, 
  char * env, 
  int  lineLength, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calPrintProfile.c
- 
void 
Cal_BddPrintProfile(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_VarNamingFn_t  varNamingProc, 
  char * env, 
  int  lineLength, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calPrintProfile.c
- 
void 
Cal_BddProfileMultiple(
  Cal_BddManager  bddManager, 
  Cal_Bdd * fUserBddArray, 
  long * levelCounts, 
  int  negout 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calBddSize.c
- 
void 
Cal_BddProfile(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  long * levelCounts, 
  int  negout 
)
 
-  negout is as in Cal_BddSize. levelCounts should be an array of
  size Cal_BddVars(bddManager)+1 to hold the profile.
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calBddSize.c
- 
Cal_Bdd 
Cal_BddReduce(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  cUserBdd 
)
 
-  Returns a BDD which agrees with f for all valuations
  which satisfy c. The result is usually smaller in terms of number of
  BDD nodes than f. This operation is typically used in state space
  searches to simplify the representation for the set of states wich
  will be expanded at each step.
 
-  Side Effects None
 
-  See Also Cal_BddCofactor
-  Defined in  calReduce.c
- 
Cal_Bdd 
Cal_BddRelProd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Returns the BDD for the logical AND of f and g with all
  the variables that are paired with something in the current variable
  association existentially quantified out.
 
-  Side Effects None.
 
-  Defined in  calQuant.c
- 
void 
Cal_BddReorder(
  Cal_BddManager  bddManager 
)
 
-  Invoke the current dynamic reodering method.
 
-  Side Effects Index of a variable may change due to reodering
 
-  See Also Cal_BddDynamicReordering
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddSatisfySupport(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  The returned BDD which implies f, is true for some valuation on
               which f is true, which has at most one node at each level,
               and which has exactly one node corresponding to each variable
               which is associated with something in the current variable
               association.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSatisfy.c
- 
double 
Cal_BddSatisfyingFraction(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSatisfy.c
- 
Cal_Bdd 
Cal_BddSatisfy(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSatisfy.c
- 
void 
Cal_BddSetGCMode(
  Cal_BddManager  bddManager, 
  int  gcMode 
)
 
-  Sets the garbage collection mode, 0 means the garbage
  collection should be turned off, 1 means garbage collection should
  be on.
 
-  Side Effects None.
 
-  Defined in  calGC.c
- 
long 
Cal_BddSizeMultiple(
  Cal_BddManager  bddManager, 
  Cal_Bdd * fUserBddArray, 
  int  negout 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calBddSize.c
- 
long 
Cal_BddSize(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  int  negout 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calBddSize.c
- 
void 
Cal_BddStats(
  Cal_BddManager  bddManager, 
  FILE * fp 
)
 
-  Prints miscellaneous BDD statistics
 
-  Side Effects None
 
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddSubstitute(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  Returns a BDD for f using the substitution defined by current
  variable association. Each variable is replaced by its associated BDDs. The 
  substitution is effective simultaneously
 
-  Side Effects None
 
-  See Also Cal_BddCompose
-  Defined in  calBddSubstitute.c
- 
void 
Cal_BddSupport(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd * support 
)
 
-  optional
 
-  Side Effects None
 
-  See Also optional
-  Defined in  calBddSupport.c
- 
Cal_Bdd 
Cal_BddSwapVars(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd, 
  Cal_Bdd  hUserBdd 
)
 
-  Returns the BDD obtained by simultaneously substituting variable
  g by variable h and variable h and variable g in the BDD f
 
-  Side Effects None
 
-  See Also Cal_BddSubstitute
-  Defined in  calBddSwapVars.c
- 
Cal_Bdd 
Cal_BddThen(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Returns the positive cofactor of the argument BDD with
  respect to the top variable of the BDD.
 
-  Side Effects The reference count of the returned BDD is increased by 1.
 
-  See Also Cal_BddElse
-  Defined in  cal.c
- 
unsigned long 
Cal_BddTotalSize(
  Cal_BddManager  bddManager 
)
 
-  Returns the number of nodes in the Unique table
 
-  Side Effects None
 
-  See Also Cal_BddManagerGetNumNodes
-  Defined in  cal.c
- 
int 
Cal_BddType(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  Returns BDD_TYPE_ZERO if f is false, BDD_TYPE_ONE 
  if f is true, BDD_TYPE_POSVAR is f is an unnegated variable,
  BDD_TYPE_NEGVAR if f is a negated variable, BDD_TYPE_OVERFLOW if f
  is null, and BDD_TYPE_NONTERMINAL otherwise.
 
-  Side Effects None
 
-  Defined in  cal.c
- 
void 
Cal_BddUnFree(
  Cal_BddManager  bddManager, 
  Cal_Bdd  userBdd 
)
 
-  Unfrees the argument BDD. It is an error to pass a BDD
  with reference count of zero to be unfreed.
 
-  Side Effects The reference count of the argument BDD is increased by 1.
 
-  See Also Cal_BddFree
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddUndumpBdd(
  Cal_BddManager  bddManager, 
  Cal_Bdd * userVars, 
  FILE * fp, 
  int * error 
)
 
-  Loads an encoded description of a BDD from the file given by
  fp. The argument vars should be a null terminated array of variables that will
  become the support of the BDD. As in Cal_BddDumpBdd, these need not be in
  the order of increasing index. If the same array of variables in used in 
  dumping and undumping, the BDD returned will be equal to the one that was 
  dumped. More generally, if array v1 is used when dumping, and the array v2
  is used when undumping, the BDD returned will be equal to the original BDD
  with the ith variable in v2 substituted for the ith variable in v1 for all i.
  Null BDD is returned in the operation fails for reason (node limit reached,
  I/O error, invalid file format, etc.). In this case, an error code is stored
  in error. the code will be one of the following. 
  CAL_BDD_UNDUMP_FORMAT Invalid file format
  CAL_BDD_UNDUMP_OVERFLOW Node limit exceeded
  CAL_BDD_UNDUMP_IOERROR File I/O error
  CAL_BDD_UNDUMP_EOF Unexpected EOF
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calDump.c
- 
void 
Cal_BddVarBlockReorderable(
  Cal_BddManager  bddManager, 
  Cal_Block  block, 
  int  reorderable 
)
 
-  If a block is reorderable, the child blocks are
  recursively involved in swapping.
 
-  Side Effects None.
 
-  Defined in  calBlk.c
- 
Cal_Bdd 
Cal_BddVarSubstitute(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd 
)
 
-  Returns a BDD for f using the substitution defined by current
  variable association. It is assumed that each variable is replaced
  by another variable. For the substitution of a variable by a
  function, use Cal_BddSubstitute instead.
 
-  Side Effects None
 
-  See Also Cal_BddSubstitute
-  Defined in  calBddVarSubstitute.c
- 
long 
Cal_BddVars(
  Cal_BddManager  bddManager 
)
 
-  Returns the number of BDD variables
 
-  Side Effects None
 
-  Defined in  cal.c
- 
Cal_Bdd 
Cal_BddXnor(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Returns the BDD for logical exclusive NOR of f and g
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd 
Cal_BddXor(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  Returns the BDD for logical exclusive OR of f and g
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
Cal_Bdd 
Cal_BddZero(
  Cal_BddManager  bddManager 
)
 
-  Returns the BDD for the constant zero
 
-  Side Effects None
 
-  See Also Cal_BddOne
-  Defined in  cal.c
- 
Cal_Address_t 
Cal_MemAllocation(
    
)
-  Returns the memory allocated.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
void 
Cal_MemFatal(
  char * message 
)
 
-  Prints an error message and exits.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
void 
Cal_MemFreeBlock(
  Cal_Pointer_t  p 
)
 
-  Frees the block.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
void 
Cal_MemFreeRecMgr(
  Cal_RecMgr  mgr 
)
 
-  Frees all the storage associated with the specified record manager.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
void 
Cal_MemFreeRec(
  Cal_RecMgr  mgr, 
  Cal_Pointer_t  rec 
)
 
-  Frees a record managed by the indicated record manager.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
Cal_Pointer_t 
Cal_MemGetBlock(
  Cal_Address_t  size 
)
 
-  Allocates a new block of the specified size.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
Cal_RecMgr 
Cal_MemNewRecMgr(
  int  size 
)
 
-  Creates a new record manager with the given  record size.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
Cal_Pointer_t 
Cal_MemNewRec(
  Cal_RecMgr  mgr 
)
 
-  Allocates a record from the specified record manager.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
Cal_Pointer_t 
Cal_MemResizeBlock(
  Cal_Pointer_t  p, 
  Cal_Address_t  newSize 
)
 
-  Expands or contracts the block to a new size.
  We try to avoid moving the block if possible.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
int 
Cal_PerformanceTest(
  Cal_BddManager  bddManager, 
  Cal_Bdd * outputBddArray, 
  int  numFunctions, 
  int  iteration, 
  int  seed, 
  int  andPerformanceFlag, 
  int  multiwayPerformanceFlag, 
  int  onewayPerformanceFlag, 
  int  quantifyPerformanceFlag, 
  int  composePerformanceFlag, 
  int  relprodPerformanceFlag, 
  int  swapPerformanceFlag, 
  int  substitutePerformanceFlag, 
  int  sanityCheckFlag, 
  int  computeMemoryOverheadFlag, 
  int  superscalarFlag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
Cal_Bdd 
Cal_PipelineCreateProvisionalBdd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  fUserBdd, 
  Cal_Bdd  gUserBdd 
)
 
-  The provisional BDD is automatically freed once the
  pipeline is quitted.
 
-  Defined in  calPipeline.c
- 
int 
Cal_PipelineExecute(
  Cal_BddManager  bddManager 
)
 
-  All the results are computed. User should update the
  BDDs of interest. Eventually this feature would become transparent.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPipeline.c
- 
int 
Cal_PipelineInit(
  Cal_BddManager  bddManager, 
  Cal_BddOp_t  bddOp 
)
 
-  All the operations for this pipeline must be of the
  same kind.
 
-  Side Effects None.
 
-  Defined in  calPipeline.c
- 
void 
Cal_PipelineQuit(
  Cal_BddManager  bddManager 
)
 
-  The user must make sure to update all provisional BDDs
  of interest before calling this routine.
 
-  Defined in  calPipeline.c
- 
void 
Cal_PipelineSetDepth(
  Cal_BddManager  bddManager, 
  int  depth 
)
 
-  The "depth" determines the amount of dependency we
  would allow in pipelined computation.
 
-  Side Effects None.
 
-  Defined in  calPipeline.c
- 
Cal_Bdd 
Cal_PipelineUpdateProvisionalBdd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  provisionalBdd 
)
 
-  The provisional BDD is automatically freed after
  quitting pipeline.
 
-  Defined in  calPipeline.c
- 
void 
Cal_TempAssociationAugment(
  Cal_BddManager  bddManager, 
  Cal_Bdd * associationInfoUserBdds, 
  int  pairs 
)
 
-  Pairs is 0 if the information represents only a list of
  variables rather than a full association.
 
-  Side Effects None
 
-  Defined in  calAssociation.c
- 
void 
Cal_TempAssociationInit(
  Cal_BddManager  bddManager, 
  Cal_Bdd * associationInfoUserBdds, 
  int  pairs 
)
 
-  Pairs is 0 if the information represents only a list of
  variables rather than a full association.
 
-  Side Effects None
 
-  Defined in  calAssociation.c
- 
void 
Cal_TempAssociationQuit(
  Cal_BddManager  bddManager 
)
 
-  Cleans up temporary associationoptional
 
-  Side Effects None
 
-  Defined in  calAssociation.c
- 
static int 
CeilLog2(
  int  number 
)
 
-  Returns the smallest integer greater than or equal to log2 of a
  number (The assumption is that the number is >= 1)
 
-  Side Effects None
 
-  Defined in  calBddOp.c
- 
static int 
CeilLog2(
  int  number 
)
 
-  Returns the smallest integer greater than or equal to log2 of a
  number (The assumption is that the number is >= 1)
 
-  Side Effects None
 
-  Defined in  calGC.c
- 
static int 
CeilLog2(
  int  number 
)
 
-  Returns the smallest integer greater than or equal to log2 of a
  number (The assumption is that the number is >= 1)
 
-  Side Effects None
 
-  Defined in  calHashTable.c
- 
static int 
CeilLog2(
  int  number 
)
 
-  Returns the smallest integer greater than or equal to log2 of a
  number (The assumption is that the number is >= 1)
 
-  Side Effects None
 
-  Defined in  calReorderDF.c
- 
static int 
CeilingLog2(
  Cal_Address_t  i 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
static void 
Chars(
  char  c, 
  int  n, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrint.c
- 
static int 
CheckAssoc(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd * assocInfo, 
  int  pairs 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calAssociation.c
- 
static int 
CheckValidityOfNodes(
  Cal_BddManager_t * bddManager, 
  long  id 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static int 
CofactorFixAndReclaimForwardedNodes(
  Cal_BddManager_t * bddManager, 
  int  cofactorCheckStartIndex, 
  int  cofactorCheckEndIndex, 
  int  reclaimStartIndex, 
  int  reclaimEndIndex 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static TruthTable_t 
Cofactor(
  TruthTable_t  table, 
  int  var, 
  int  value 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static Cal_Bdd 
Decode(
  int  var, 
  TruthTable_t  table 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
Error(
  char * op, 
  Cal_BddManager  bddManager, 
  Cal_Bdd  result, 
  Cal_Bdd  expected, 
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
GetRandomNumbers(
  int  lowerBound, 
  int  upperBound, 
  int  count, 
  int * resultVector 
)
 
-  The restriction is that count <= upperBound-lowerBound+1. The
  size of the resultVector should be >= count.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
HashTableAddDirect(
  CalHashTable_t * hashTable, 
  CalBddNode_t * bddNode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
HashTableApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t ** reqQueAtPipeDepth, 
  CalOpProc_t  calOpProc, 
  unsigned long  opCode 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static void 
HashTableCofactorApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t ** cofactorHashTableArray, 
  CalOpProc_t  calOpProc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReduce.c
- 
static void 
HashTableCofactorReduce(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t * uniqueTableForId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReduce.c
- 
static int 
HashTableFindOrAdd(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalBddNode_t * thenBdd, 
  CalBddNode_t * elseBdd, 
  CalBddNode_t ** bddPtr 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
HashTableOneRehash(
  CalHashTable_t * hashTable, 
  int  grow 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calHashTableOne.c
- 
static void 
HashTableReduceApply(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t ** reduceHashTableArray, 
  CalHashTable_t ** orHashTableArray, 
  CalOpProc_t  calOpProc 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReduce.c
- 
static void 
HashTableReduce(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalHashTable_t * uniqueTableForId 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calQuant.c
- 
static int 
IndexCmp(
  const void * p1, 
  const void * p2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddSatisfy.c
- 
static void 
MergeAndFree(
  Block  b 
)
 
-  MergeAndFree(b) repeatedly merges b its Buddy until b has no Buddy or the Buddy isn't free, then adds the result to the  appropriate free list.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
static CalAddress_t * 
PageAlign(
  CalAddress_t * p 
)
 
-  optional
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
static int 
PageManagerExpandStorage(
  CalPageManager_t * pageManager 
)
 
-  optional
 
-  Side Effects The size of the segment is stored in one of the fields
              of page manager - numPagesPerSegment. If a memory
              segment of a specific size cannot be allocated, the
              routine calls itself recursively by reducing
              numPagesPerSegment by a factor of 2.
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
static void 
PrintBddProfileAfterReorder(
  Cal_BddManager_t * bddManager 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderBF.c
- 
static void 
PrintBdd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
RandomTests(
  int  numVars, 
  int  iterations 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static unsigned long 
Read(
  int * error, 
  int  bytes, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calDump.c
- 
static Block 
RemoveFromFreeList(
  Block  b 
)
 
-  RemoveFromFreeList(b) removes b from the free list which it is on.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
static int 
SegmentToPageList(
  CalAddress_t * segment, 
  int  numPages, 
  CalAddress_t * lastPointer 
)
 
-  optional
 
-  See Also optional
-  Defined in  calMemoryManagement.c
- 
static void 
SweepVarTable(
  Cal_BddManager_t * bddManager, 
  long  id 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
TestAnd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestArrayOp(
  Cal_BddManager  bddManager, 
  int  numBdds 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestAssoc(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f, 
  TruthTable_t  table 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestCompose(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestDump(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestGenCof(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestITE(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2, 
  Cal_Bdd  f3, 
  TruthTable_t  table3 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestIdNot(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f, 
  TruthTable_t  table 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestInterImpl(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestMultiwayAnd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2, 
  Cal_Bdd  f3, 
  TruthTable_t  table3 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestMultiwayLarge(
  Cal_BddManager  bddManager, 
  int  numBdds 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestMultiwayOr(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2, 
  Cal_Bdd  f3, 
  TruthTable_t  table3 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestNand(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestOr(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestPipeline(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2, 
  Cal_Bdd  f3, 
  TruthTable_t  table3 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestQnt(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f, 
  TruthTable_t  table, 
  int  bfZeroBFPlusDFOne, 
  int  cacheExistsResultsFlag, 
  int  cacheOrResultsFlag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestReduce(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestRelProd(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2, 
  int  bfZeroBFPlusDFOne, 
  int  cacheRelProdResultsFlag, 
  int  cacheAndResultsFlag, 
  int  cacheOrResultsFlag 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestReorderBlock(
  Cal_BddManager  bddManager, 
  TruthTable_t  table, 
  Cal_Bdd  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestReorder(
  Cal_BddManager  bddManager, 
  TruthTable_t  table, 
  Cal_Bdd  f 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestSatisfy(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f, 
  TruthTable_t  table 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestSize(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestSubstitute(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2, 
  Cal_Bdd  f3, 
  TruthTable_t  table3 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestSwapVars(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f, 
  TruthTable_t  table 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestVarSubstitute(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2, 
  Cal_Bdd  f3, 
  TruthTable_t  table3 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TestXor(
  Cal_BddManager  bddManager, 
  Cal_Bdd  f1, 
  TruthTable_t  table1, 
  Cal_Bdd  f2, 
  TruthTable_t  table2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
TrimToSize(
  Block  b, 
  int  sizeIndex 
)
 
-  TrimToSize(b, sizeIndex) repeatedly splits b until it has  the indicated size.  Blocks which are split off are added to the appropriate free list.
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calMem.c
- 
static int 
UniqueTableForIdFindOrAdd(
  Cal_BddManager_t * bddManager, 
  CalHashTable_t * hashTable, 
  CalBddNode_t * thenBdd, 
  CalBddNode_t * elseBdd, 
  CalBddNode_t ** bddPtr 
)
 
-  optional
 
-  Side Effects If a new BDD node is created (found == false), then the
  numNodes field of the manager needs to be incremented.
 
-  See Also optional
-  Defined in  calReorderDF.c
- 
static void 
Write(
  Cal_BddManager_t * bddManager, 
  unsigned long  n, 
  int  bytes, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calDump.c
- 
static void 
asAddress(
  double  n, 
  CalAddress_t * r1, 
  CalAddress_t * r2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static double 
asDouble(
  CalAddress_t  v1, 
  CalAddress_t  v2 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static void 
chars(
  char  c, 
  int  n, 
  FILE * fp 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPrintProfile.c
- 
static double 
cpuTime(
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static double 
cpuTime(
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddReorderTest.c
- 
static void 
ddClearLocal(
  Cal_Bdd_t  f 
)
 
-  Performs a DFS from f, clearing the LSB of the then pointers.
 
-  Side Effects None
 
-  Defined in  calInteract.c
- 
static void 
ddSuppInteract(
  Cal_BddManager_t * bddManager, 
  Cal_Bdd_t  f, 
  int * support 
)
 
-  Performs a DFS from f. Uses the LSB of the then pointer
  as visited flag.
 
-  Side Effects Accumulates in support the variables on which f depends.
 
-  Defined in  calInteract.c
- 
static void 
ddUpdateInteract(
  Cal_BddManager_t * bddManager, 
  int * support 
)
 
-  If support[i
 
-  Side Effects None
 
-  Defined in  calInteract.c
- 
static long 
elapsedTime(
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddReorderTest.c
- 
static long 
elapsedTime(
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static void 
handler(
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
int 
main(
  int  argc, 
  char ** argv 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calBddReorderTest.c
- 
int 
main(
  int  argc, 
  char ** argv 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c
- 
static long 
pageFaults(
    
)
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calPerformanceTest.c
- 
static char * 
terminalIdFn(
  Cal_BddManager  bddManager, 
  CalAddress_t  v1, 
  CalAddress_t  v2, 
  Cal_Pointer_t  pointer 
)
 
-  optional
 
-  Side Effects required
 
-  See Also optional
-  Defined in  calTest.c