module Fcl_sorting: sig
.. end
Sorting Constraint
val sort : Fcl_var.Fd.t array -> Fcl_var.Fd.t array
sort a
returns an array of variables constrained to be the variables
in a
sorted in increasing order.
val sortp : Fcl_var.Fd.t array -> Fcl_var.Fd.t array * Fcl_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 : Fcl_var.Fd.t array ->
?p:Fcl_var.Fd.t array option -> Fcl_var.Fd.t array -> Fcl_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.