invariants.lib

numeric

package numeric

This package includes a set of numeric invariants, mostly sums and other arithmetic invariants. It also features a set of operators that can be used for easy writing of expressions in Invariants.Library.Numeric.Implicits

Visibility
  1. Public
  2. All

Type Members

  1. case class Abs (v: IntVar) extends IntVar2IntVarFun with Product with Serializable

    abs(v) (absolute value) where output and v are IntVar

  2. case class Div (left: IntVar, right: IntVar) extends IntVarIntVar2IntVarFun with Product with Serializable

    left / right where left, right, and output are IntVar

  3. case class Minus (left: IntVar, right: IntVar) extends IntVarIntVar2IntVarFun with Product with Serializable

    left - right where left, right, and output are IntVar

  4. case class Prod (vars: Iterable[IntVar]) extends IntInvariant with Product with Serializable

    prod(vars)

  5. case class Prod2 (left: IntVar, right: IntVar) extends IntVarIntVar2IntVarFun with Product with Serializable

    left * right where left, right, and output are IntVar

  6. case class ProdElements (vars: Array[IntVar], cond: IntSetVar) extends IntInvariant with Bulked[IntVar, Unit] with Product with Serializable

    prod(i in cond) vars(i) This invariant might modify vars array by cloning some variables to ensure that each variable only appears once.

  7. case class Sum (vars: Iterable[IntVar]) extends IntInvariant with Product with Serializable

    sum(vars)

  8. case class Sum2 (left: IntVar, right: IntVar) extends IntVarIntVar2IntVarFun with Product with Serializable

    left + right where left, right, and output are IntVar

  9. case class SumElements (vars: Array[IntVar], cond: IntSetVar) extends IntInvariant with Bulked[IntVar, Unit] with Product with Serializable

    sum(i in cond) vars(i) This invariant might modify vars array by cloning some variables to ensure that each variable only appears once.

Value Members

  1. object Implicits extends AnyRef