20#if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4
21#define CUDD_MAXINDEX (((DdHalfWord) ~0) >> 1)
23#define CUDD_MAXINDEX ((DdHalfWord) ~0)
31#define CUDD_CONST_INDEX CUDD_MAXINDEX
36#if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4
37typedef uint32_t DdHalfWord;
39typedef uint16_t DdHalfWord;
79#define cuddRef(n) cuddSatInc(Cudd_Regular(n)->ref)
81#define cuddV(node) ((node)->type.value)
83extern DdNode * cuddAllocNode(DdManager *unique);
107#define cuddDeref(n) cuddSatDec(Cudd_Regular(n)->ref)
120#define cuddT(node) ((node)->type.kids.T)
134#define cuddE(node) ((node)->type.kids.E)
151#if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4
152#define cuddSatInc(x) ((x)++)
154#define cuddSatInc(x) ((x) += (x) != (DdHalfWord)DD_MAXREF)
169#if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4
170#define cuddSatDec(x) ((x)--)
172#define cuddSatDec(x) ((x) -= (x) != (DdHalfWord)DD_MAXREF)
175extern DdNode * cuddUniqueConst(DdManager *unique, CUDD_VALUE_TYPE value);
no_error E(DOMAIN_ERROR_ABSOLUTE_FILE_NAME_OPTION, DOMAIN_ERROR, "absolute_file_name_option") E(DOMAIN_ERROR_ARRAY_OVERFLOW
default state
If you like being short, use T instead of YapTerm.
The two children of a non-terminal node.
struct DdNode * T
then (true) child
struct DdNode * E
else (false) child
CUDD_VALUE_TYPE value
for constant (terminal) nodes
union DdNode::@110 type
terminal or internal
DdNode * next
next pointer for unique table
DdHalfWord ref
reference count
DdHalfWord index
variable index
struct DdChildren kids
for internal nodes