module Sorting: sig .. end
Sorting Constraint
val sort : Var.Fd.t array -> Var.Fd.t array
sort a returns an array of variables constrained to be the variables
in a sorted in increasing order.
val sortp : Var.Fd.t array -> Var.Fd.t array * Var.Fd.t array
sortp a same as sort but returns a couple (sorted, perm)
where sorted is the array of sorted variables and perm is an
array of variables constrained to be the permutation between a and
sorted, i.e. a.(i) = sorted.(perm.(i)).
val cstr : Var.Fd.t array -> ?p:Var.Fd.t array option -> Var.Fd.t array -> Cstr.t
cstr a (?perm:None) sorted returns the constraint ensuring that
sorted is the result of sorting array a according to the
permutation perm. perm default value is None, meaning the
argument is irrelevant. Raises Invalid_argument if
arrays have incompatible length. Not reifiable.