コード例 #1
0
ファイル: cuddClip.c プロジェクト: ansonn/esl_systemc
/**Function********************************************************************

  Synopsis    [Approximates the conjunction of two BDDs f and g.]

  Description [Approximates the conjunction of two BDDs f and g. Returns a
  pointer to the resulting BDD if successful; NULL if the intermediate
  result blows up.]

  SideEffects [None]

  SeeAlso     [Cudd_bddAnd]

******************************************************************************/
DdNode *
Cudd_bddClippingAnd(
  DdManager * dd /* manager */,
  DdNode * f /* first conjunct */,
  DdNode * g /* second conjunct */,
  int  maxDepth /* maximum recursion depth */,
  int  direction /* under (0) or over (1) approximation */)
{
    DdNode *res;

    do {
	dd->reordered = 0;
	res = cuddBddClippingAnd(dd,f,g,maxDepth,direction);
    } while (dd->reordered == 1);
    return(res);

} /* end of Cudd_bddClippingAnd */
コード例 #2
0
ファイル: cuddClip.c プロジェクト: VerifiableRobotics/slugs
/**
  @brief Approximates the conjunction of two BDDs f and g.

  @return a pointer to the resulting %BDD if successful; NULL if the
  intermediate result blows up.

  @sideeffect None

  @see Cudd_bddAnd

*/
DdNode *
Cudd_bddClippingAnd(
  DdManager * dd /**< manager */,
  DdNode * f /**< first conjunct */,
  DdNode * g /**< second conjunct */,
  int  maxDepth /**< maximum recursion depth */,
  int  direction /**< under (0) or over (1) approximation */)
{
    DdNode *res;

    do {
	dd->reordered = 0;
	res = cuddBddClippingAnd(dd,f,g,maxDepth,direction);
    } while (dd->reordered == 1);
    if (dd->errorCode == CUDD_TIMEOUT_EXPIRED && dd->timeoutHandler) {
        dd->timeoutHandler(dd, dd->tohArg);
    }
    return(res);

} /* end of Cudd_bddClippingAnd */