Class

util.sat

NNFToCircuitEncoder

Related Doc: package sat

Permalink

case class NNFToCircuitEncoder(nnf: Expr, circuit: FormulaLike, switchableGates: Boolean) extends Product with Serializable

Translator for a primary circuit. If the switchableGates parameter is false, then atoms of the nnf formula are guaranteed to use the index range [1, nnf.atoms.size].

nnf

the nnf expression to translate

circuit

the target circuit in which to encode the formula

switchableGates

if set to true, all gates created in the circuit will be switchable

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NNFToCircuitEncoder
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new NNFToCircuitEncoder(nnf: Expr, circuit: FormulaLike, switchableGates: Boolean)

    Permalink

    nnf

    the nnf expression to translate

    circuit

    the target circuit in which to encode the formula

    switchableGates

    if set to true, all gates created in the circuit will be switchable

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(e: Expr): Int

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def atomCacheFunc: PartialFunction[Expr, Int]

    Permalink

    returns

    The current atom translation cache as an immutable function.

  7. def atoms: Map[Atom, Int]

    Permalink

    returns

    An immutable map from nnf Atoms to circuit variables.

  8. val circuit: FormulaLike

    Permalink

    the target circuit in which to encode the formula

  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def encode(): Unit

    Permalink

    Translate nnf formula to primary circuit, asserts root gate is true and and declares it as output.

    Translate nnf formula to primary circuit, asserts root gate is true and and declares it as output. Encodes nnf atoms first to that their corresponding variables and optional switches use the lowest possible indices of the target formula.

  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def exprCacheFunc: PartialFunction[Expr, Int]

    Permalink

    returns

    The current expression translation cache as an immutable function.

  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. var inputs: Vector[Int]

    Permalink

    Inputs of the primary circuit.

  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. val nnf: Expr

    Permalink

    the nnf expression to translate

  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. var output: Option[Int]

    Permalink

    Output of the primary circuit.

  22. val switchableGates: Boolean

    Permalink

    if set to true, all gates created in the circuit will be switchable

  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped