module Arith: sig
.. end
Expressions
type
typ = [ `Int | `Real ]
class type [[> typ ]]
db = object
.. end
Expressions
Linear expressions
module Lin: sig
.. end
Polynomial expressions
module Poly: sig
.. end
Tree expressions
module Tree: sig
.. end
Tree expressions
Conversions
val lin_of_poly : Poly.expr -> Lin.expr
val lin_of_tree : Tree.expr -> Lin.expr
val poly_of_tree : Tree.expr -> Poly.expr
val tree_of_lin : Lin.expr -> Tree.expr
val tree_of_poly : Poly.expr -> Tree.expr
General expressions and operations
type
expr =
val var : [> typ ] #db -> Var.t -> expr
val cst : Mpqf.t -> expr
val add : expr -> expr -> expr
val sub : expr -> expr -> expr
val mul : expr -> expr -> expr
val div : expr -> expr -> expr
val gmod : expr -> expr -> expr
val other : Var.t -> expr list -> expr
val negate : expr -> expr
val support : expr -> Var.Set.t
val rename : expr -> Var.t Var.Map.t -> expr
val normalize : expr -> expr
val equal : expr -> expr -> bool
val hash : expr -> int
val compare : expr -> expr -> int
val normalize_as_constraint : expr -> expr
val is_dependent_on_integer_only : [> typ ] #db -> expr -> bool
val typ_of_expr : [> typ ] #db -> expr -> [ `Int | `Real ]
val print : Format.formatter -> expr -> unit
val print_typ : Format.formatter -> [> typ ] -> unit
Constraints
module Condition: sig
.. end