AI-PBDD
view release on metacpan or search on metacpan
lib/AI/PBDD.pm view on Meta::CPAN
BDD NAND operation. The returned result is already referenced.
=item B<$bdd = nor($bdd1,$bdd2)>
BDD NOR operation. The returned result is already referenced.
=item B<$bdd = xor($bdd1,$bdd2)>
BDD XOR operation. The returned result is already referenced.
=item B<$bdd = ite($bdd_if,$bdd_then,$bdd_else)>
BDD ITE (If-Then-Else) operation, i.e. C<($bdd_if AND $bdd_then) OR (NOT $bdd_if AND $bdd_else)>. The returned result is already referenced.
=item B<$bdd = imp($bdd1,$bdd2)>
BDD IMPlication operation. The returned result is already referenced.
=item B<$bdd = biimp($bdd1,$bdd2)>
BDD BIIMPlication operation. The returned result is already referenced.
=item B<$bdd = not($bdd1)>
BDD NOT operation. The returned result is already referenced.
=item B<$cube = makeSet($vars,$size)>
=item B<$cube = makeSet($vars,$size,$offset)>
Create a cube (all-true minterm, e.g. C<$v1 AND $v2 AND $v3> where each C<$vi> is a BDD variable) of C<$size> variables from the array referenced by C<$vars>, starting at position 0 (or C<$offset>).
=item B<$bdd = exists($bdd1,$cube)>
BDD existential quantification. Parameter C<$cube> is an all-true minterm. The returned result is already referenced.
=item B<$bdd = forall($bdd1,$cube)>
BDD universal quantification. Parameter C<$cube> is an all-true minterm. The returned result is already referenced.
=item B<$bdd = relProd($bdd_left,$bdd_right,$cube)>
BDD relation-product (quantification and product computation in one pass): C<EXISTS $cube: $bdd_left AND $bdd_right>. The returned result is already referenced.
=item B<$bdd = restrict($bdd1,$minterm)>
Restrict a set of variables to constant values. The returned result is already referenced.
=item B<$bdd = constrain($bdd1,$bdd2)>
Compute the generalized co-factor of C<$bdd1> w.r.t. C<$bdd2>. The returned result is already referenced.
=back
=head2 VARIABLES REPLACEMENT
=over 4
=item B<$pair = createPair($vars_old,$vars_new)>
Create a function C<$pair: BDD variable -E<gt> BDD variable> that maps C<$vars_old-E<gt>[i]> to C<$vars_new-E<gt>[i]>.
=item B<deletePair($pair)>
Free the memory occupied by C<$pair>.
=item B<$bdd = replace($bdd1,$pair)>
Replace the variables in a BDD according to the given pair. The returned result is already referenced.
=item B<showPair($pair)>
Print a pair.
=back
=head2 BDD ANALYSIS
=over 4
=item B<$cube = support($bdd)>
BDD support set as a cube.
=item B<$cnt = nodeCount($bdd)>
Number of nodes a BDD.
=item B<$minterm = satOne($bdd)>
One arbitrary minterm (satisfying variable assignment), unless C<$bdd> equals 0.
=item B<$cnt = satCount($bdd)>
=item B<$cnt = satCount($bdd,$nvars)>
Number of minterms that satisfy C<$bdd>. The number of minterms is computed by considering all of the variables in the package (defined with the call to the C<init> function), but it is possible to specify the number of variables C<$nvars> to be igno...
=back
=head2 PRINTING
=over 4
=item B<printDot($bdd)>
=item B<printDot($bdd,$filename)>
Print the BDD as a Graphviz DOT model to STDOUT (or the given C<$filename>).
=item B<printSet($bdd)>
Print the BDD minterms to STDOUT.
=item B<print($bdd)>
Print the BDD in the native BuDDy representation to STDOUT.
=back
=head2 DEBUGGING
( run in 0.446 second using v1.01-cache-2.11-cpan-140bd7fdf52 )