Module Luc4c


module Luc4c: sig .. end
Lucky C API: defines functions to be used by luc4c_stubs.h/c.

nb: luc2c generates C code that uses functions defined in luc4c_stubs.h/c

nb2 : this mli file is actually useless, as the only exported functions are the ones that are (Callback.)registered in luc4c.ml...


type lucky_process = int 

type step_mode =
| StepInside
| StepEdges
| StepVertices
To indicate whether the point used to perform the step is drawn inside, at edges, or at vertices of the convex hull of numeric solutions; the step mode is used iff at least one controllable variable is numeric.

The default step mode is StepInside.

exception MakeError
val make : string -> string -> lucky_process
val kill_lucky_process : lucky_process -> unit
val set_input_bool : lucky_process -> string -> bool -> unit
val set_input_int : lucky_process -> string -> int -> unit
val set_input_float : lucky_process -> string -> float -> unit
val step : lucky_process -> step_mode -> unit
val get_output_bool : lucky_process -> string -> bool
val get_output_int : lucky_process -> string -> int
val get_output_float : lucky_process -> string -> float

Changing parameters
val set_efficient_mode : unit -> unit
Default mode. The draw in the set of solutions is not fair w.r.t numeric variables.
val set_fair_mode : unit -> unit
In that mode, we take into account the number of numeric solutions by computing (an approx.) of the volume of polyhedra to perform the draw. It is therefore more expensive. Moreover, some of the sharing of the BDDs is lost.
val set_seed : int -> unit
val set_precision : int -> unit
val set_verbose : lucky_process -> int -> unit

Pretty-printing and misc