Class BDDFactoryIntImpl

  • Direct Known Subclasses:
    JFactory

    public abstract class BDDFactoryIntImpl
    extends BDDFactory
    A shared superclass for BDD factories that refer to BDDs as ints.
    • Field Detail

      • to_free

        protected int[] to_free
      • to_free_length

        protected int to_free_length
    • Constructor Detail

      • BDDFactoryIntImpl

        public BDDFactoryIntImpl()
    • Method Detail

      • addref_impl

        protected abstract void addref_impl​(int v)
      • delref_impl

        protected abstract void delref_impl​(int v)
      • zero_impl

        protected abstract int zero_impl()
      • one_impl

        protected abstract int one_impl()
      • universe_impl

        protected int universe_impl()
      • invalid_bdd_impl

        protected abstract int invalid_bdd_impl()
      • var_impl

        protected abstract int var_impl​(int v)
      • level_impl

        protected abstract int level_impl​(int v)
      • low_impl

        protected abstract int low_impl​(int v)
      • high_impl

        protected abstract int high_impl​(int v)
      • ithVar_impl

        protected abstract int ithVar_impl​(int var)
      • nithVar_impl

        protected abstract int nithVar_impl​(int var)
      • makenode_impl

        protected abstract int makenode_impl​(int lev,
                                             int lo,
                                             int hi)
      • ite_impl

        protected abstract int ite_impl​(int v1,
                                        int v2,
                                        int v3)
      • apply_impl

        protected abstract int apply_impl​(int v1,
                                          int v2,
                                          BDDFactory.BDDOp opr)
      • not_impl

        protected abstract int not_impl​(int v1)
      • applyAll_impl

        protected abstract int applyAll_impl​(int v1,
                                             int v2,
                                             BDDFactory.BDDOp opr,
                                             int v3)
      • applyEx_impl

        protected abstract int applyEx_impl​(int v1,
                                            int v2,
                                            BDDFactory.BDDOp opr,
                                            int v3)
      • applyUni_impl

        protected abstract int applyUni_impl​(int v1,
                                             int v2,
                                             BDDFactory.BDDOp opr,
                                             int v3)
      • compose_impl

        protected abstract int compose_impl​(int v1,
                                            int v2,
                                            int var)
      • constrain_impl

        protected abstract int constrain_impl​(int v1,
                                              int v2)
      • restrict_impl

        protected abstract int restrict_impl​(int v1,
                                             int v2)
      • simplify_impl

        protected abstract int simplify_impl​(int v1,
                                             int v2)
      • support_impl

        protected abstract int support_impl​(int v)
      • exist_impl

        protected abstract int exist_impl​(int v1,
                                          int v2)
      • forAll_impl

        protected abstract int forAll_impl​(int v1,
                                           int v2)
      • unique_impl

        protected abstract int unique_impl​(int v1,
                                           int v2)
      • fullSatOne_impl

        protected abstract int fullSatOne_impl​(int v)
      • replace_impl

        protected abstract int replace_impl​(int v,
                                            BDDPairing p)
      • veccompose_impl

        protected abstract int veccompose_impl​(int v,
                                               BDDPairing p)
      • nodeCount_impl

        protected abstract int nodeCount_impl​(int v)
      • pathCount_impl

        protected abstract double pathCount_impl​(int v)
      • satCount_impl

        protected abstract double satCount_impl​(int v)
      • satOne_impl

        protected abstract int satOne_impl​(int v)
      • satOne_impl2

        protected abstract int satOne_impl2​(int v1,
                                            int v2,
                                            boolean pol)
      • nodeCount_impl2

        protected abstract int nodeCount_impl2​(int[] v)
      • varProfile_impl

        protected abstract int[] varProfile_impl​(int v)
      • printTable_impl

        protected abstract void printTable_impl​(int v)
      • unwrap

        protected static final int unwrap​(BDD b)
      • unwrap

        protected static final int[] unwrap​(Collection<BDD> c)
      • unwrap

        protected static final int unwrap​(BDDVarSet b)
      • ithVar

        public BDD ithVar​(int var)
        Description copied from class: BDDFactory
        Returns a BDD representing the I'th variable. (One node with the children true and false.) The requested variable must be in the (zero-indexed) range defined by setVarNum.

        Compare to bdd_ithvar.

        Specified by:
        ithVar in class BDDFactory
        Parameters:
        var - the variable number
        Returns:
        the I'th variable on success, otherwise the constant false BDD
      • nithVar

        public BDD nithVar​(int var)
        Description copied from class: BDDFactory
        Returns a BDD representing the negation of the I'th variable. (One node with the children false and true.) The requested variable must be in the (zero-indexed) range defined by setVarNum.

        Compare to bdd_nithvar.

        Specified by:
        nithVar in class BDDFactory
        Parameters:
        var - the variable number
        Returns:
        the negated I'th variable on success, otherwise the constant false BDD
      • nodeCount

        public int nodeCount​(Collection<BDD> r)
        Description copied from class: BDDFactory
        Counts the number of shared nodes in a collection of BDDs. Counts all distinct nodes that are used in the BDDs -- if a node is used in more than one BDD then it only counts once.

        Compare to bdd_anodecount.

        Specified by:
        nodeCount in class BDDFactory
        Parameters:
        r - collection of BDDs
        Returns:
        number of shared nodes
      • one

        public BDD one()
        Description copied from class: BDDFactory
        Get the constant true BDD.

        Compare to bdd_true.

        Specified by:
        one in class BDDFactory
        Returns:
        constant true BDD
      • universe

        public BDD universe()
        Description copied from class: BDDFactory
        Get the constant universe BDD. (The universe BDD differs from the one BDD in ZDD mode.)

        Compare to bdd_true.

        Overrides:
        universe in class BDDFactory
        Returns:
        constant universe BDD
      • emptySet

        public BDDVarSet emptySet()
        Description copied from class: BDDFactory
        Get an empty BDDVarSet.

        Compare to bdd_true.

        Overrides:
        emptySet in class BDDFactory
        Returns:
        empty BDDVarSet
      • printTable

        public void printTable​(BDD b)
        Description copied from class: BDDFactory
        Prints the node table entries used by a BDD.

        Compare to bdd_printtable.

        Specified by:
        printTable in class BDDFactory
        Parameters:
        b - BDD
      • zero

        public BDD zero()
        Description copied from class: BDDFactory
        Get the constant false BDD.

        Compare to bdd_false.

        Specified by:
        zero in class BDDFactory
        Returns:
        constant false BDD
      • done

        public void done()
        Description copied from class: BDDFactory
        This function frees all memory used by the BDD package and resets the package to its uninitialized state. The BDD package is no longer usable after this call.

        Compare to bdd_done.

        Specified by:
        done in class BDDFactory
      • deferredFree

        public void deferredFree​(int v)
      • handleDeferredFree

        public void handleDeferredFree()