Module Fcl_sorting

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.