int fdd_extdomain ( int *  ,
int   
)

Adds another set of finite domain blocks.

Extends the set of finite domain blocks with the num domains in dom. Each entry in dom defines the size of a new finite domain which later on can be used for finite state machine traversal and other operations on finte domains. Each domain allocates $\log_2(|dom[i]|)$ BDD variables to be used later. The ordering is interleaved for the domains defined in each call to fdd_extdomain. This means that assuming domain $D_0$ needs 2 BDD variables $x_1$ and $x_2$, and another domain $D_1$ needs 4 BDD variables $y_1,y_2,y_3$ and $y_4$, then the order will be $x_1,y_1,x_2,y_2,y_3,y_4$. The index of the first domain in dom is returned. The index of the other domains are offset from this index with the same offset as in dom. The BDD variables needed to encode the domain are created for the purpose and do not interfere with the BDD variables already in use.

Returns:
The index of the first domain or a negative error code.
See also:
fdd_ithvar, fdd_equals, fdd_overlapdomain


Generated on Mon Jul 23 13:25:15 2007 for BuDDy by  doxygen 1.5.1