invariants.core

computation

package computation

This package includes all the class that make it possible to define variables and invariants.

Visibility
  1. Public
  2. All

Type Members

  1. trait AutoPropagateBeforeStart extends Variable

    this is a very experimental feature, so use it at you own risk if a variable is created with this trait, it will automatically perform propagation under if the model is not closed yet, and if no invariant is dynamically listening to this variable.

  2. class Bulk extends Invariant with BulkPropagator

    This is the node that is put in the propagation graph used by BulkLoad only

  3. trait Bulked [VarType, BulkedComputationResult] extends Invariant

    Invariants over arrays can implement this trait to make it possible to bulk load their dependencies

  4. case class Event (v: Variable, ModifiedVars: Iterable[Variable]) extends Invariant with Product with Serializable

    Use the apply method in the companion object for building this

  5. case class IdentityInt (v: IntVar) extends IntInvariant with Product with Serializable

  6. case class IdentityIntSet (v: IntSetVar) extends IntSetInvariant with Product with Serializable

  7. case class IntConst (ConstValue: Int, model: Model) extends IntVar with Product with Serializable

    An IntConst is an IntVar that has a constant value.

  8. class IntInvariant extends Invariant

    Attributes
    abstract
  9. case class IntSetConst (ConstValue: SortedSet[Int], model: Model) extends IntSetVar with Product with Serializable

    An IntSetConst is an IntSetVar that has a constant value, defined by a set of integer.

  10. class IntSetInvariant extends Invariant

    Attributes
    abstract
  11. class IntSetVar extends Variable

    An IntSetVar is a variable managed by the Model whose type is set of integer.

  12. class IntVar extends Variable

    an intvar is a variable managed by the Model whose type is integer.

  13. trait Invariant extends PropagationElement

    This is be base class for all invariants.

  14. class Model extends PropagationStructure

    This class contains the model, namely, the invariants and variables They are all modeled as propagation Elements, which are handled by the inherited propagationstructure class.

  15. case class Singleton (v: IntVar) extends IntSetInvariant with Product with Serializable

  16. case class Solution (assignationInt: SortedMap[IntVar, Int], assignationIntSet: SortedMap[IntSetVar, SortedSet[Int]], model: Model) extends Product with Serializable

    This class contains a solution.

  17. class Variable extends PropagationElement

    This is the base class for variable.

Value Members

  1. object BulkLoad extends AnyRef

    A bulk load is to use when there are a set of invariants that all listen statically to the same array of variables but whose dynamic dependencies are really sparse in case such dependencies are bulk loaded, we create an instance of Bulk between the variables and invariants such that the bulk statically listens to all variables and the invariants statically listen to the bulk.

  2. object Event extends Serializable

  3. object Implicits extends AnyRef

  4. object IntInvariant extends AnyRef

  5. object IntSetInvariant extends AnyRef

  6. object IntSetVar extends AnyRef

  7. object IntVar extends AnyRef

  8. object Invariant extends AnyRef

  9. object InvariantHelper extends AnyRef

  10. object Variable extends AnyRef