Class BDDPairing


  • public abstract class BDDPairing
    extends Object
    Encodes a table of variable pairs. This is used for replacing variables in a BDD.
    • Constructor Summary

      Constructors 
      Constructor Description
      BDDPairing()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract void reset()
      Resets this table of pairs by setting all substitutions to their default values (that is, no change).
      void set​(int[] oldvar, int[] newvar)
      Like set(), but with a whole list of pairs.
      void set​(int[] oldvar, BDD[] newvar)
      Like set(), but with a whole list of pairs.
      abstract void set​(int oldvar, int newvar)
      Adds the pair (oldvar, newvar) to this table of pairs.
      abstract void set​(int oldvar, BDD newvar)
      Adds the pair (oldvar, newvar) to this table of pairs.
      void set​(BDDDomain[] p1, BDDDomain[] p2)
      Like set(), but with a whole list of pairs.
      void set​(BDDDomain p1, BDDDomain p2)
      Defines each variable in the finite domain block p1 to be paired with the corresponding variable in p2.
    • Constructor Detail

      • BDDPairing

        public BDDPairing()
    • Method Detail

      • set

        public abstract void set​(int oldvar,
                                 int newvar)
        Adds the pair (oldvar, newvar) to this table of pairs. This results in oldvar being substituted with newvar in a call to BDD.replace().

        Compare to bdd_setpair.

        Parameters:
        oldvar - old variable
        newvar - new variable
      • set

        public void set​(int[] oldvar,
                        int[] newvar)
        Like set(), but with a whole list of pairs.

        Compare to bdd_setpairs.

        Parameters:
        oldvar - old variables
        newvar - new variables
      • set

        public abstract void set​(int oldvar,
                                 BDD newvar)
        Adds the pair (oldvar, newvar) to this table of pairs. This results in oldvar being substituted with newvar in a call to bdd.replace(). The variable oldvar is substituted with the BDD newvar. The possibility to substitute with any BDD as newvar is utilized in BDD.compose(), whereas only the topmost variable in the BDD is used in BDD.replace().

        Compare to bdd_setbddpair.

        Parameters:
        oldvar - old variable
        newvar - new BDD
      • set

        public void set​(int[] oldvar,
                        BDD[] newvar)
        Like set(), but with a whole list of pairs.

        Compare to bdd_setbddpairs.

        Parameters:
        oldvar - old variables
        newvar - new BDDs
      • set

        public void set​(BDDDomain p1,
                        BDDDomain p2)
        Defines each variable in the finite domain block p1 to be paired with the corresponding variable in p2.

        Compare to fdd_setpair.

        Parameters:
        p1 - first finite domain block
        p2 - second finite domain block
      • set

        public void set​(BDDDomain[] p1,
                        BDDDomain[] p2)
        Like set(), but with a whole list of pairs.

        Compare to fdd_setpairs.

        Parameters:
        p1 - first finite domain blocks
        p2 - second finite domain blocks
      • reset

        public abstract void reset()
        Resets this table of pairs by setting all substitutions to their default values (that is, no change).

        Compare to bdd_resetpair.