module Luc4ocaml: sig
.. end
Time-stamp: <modified the 08/08/2011 (at 17:05) by Erwan Jahier>
Lucky ocaml API
type
var_name = string
type
value =
| |
F of float |
| |
I of int |
| |
B of bool |
type
subst = var_name * value
type
inputs = subst list
type
outputs = subst list
type
locals = subst list
type
solution = outputs * locals
type
state
Abtract state containing the Lucky runtime information. A step in Lucky
machine updates this state.
exception MakeError
val make : ?seed:int ->
?fair:bool ->
?pp:string ->
?verbose:int ->
?precision:int -> ?main:string option -> string list -> state
Builds the initial state of the Lucky machine
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.
type
step_mode =
| |
StepInside |
| |
StepEdges |
| |
StepVertices |
val step : ?mode:step_mode ->
state -> inputs -> state * solution
the default step mode is StepInside
val step_se : ?mode:step_mode ->
state Pervasives.ref -> inputs -> solution
side-effect version of step
val rif_read : Pervasives.in_channel -> state -> inputs
Reads from an in_channel Lucky inputs in RIF
nb: RIF = Reactive Input Format
It is the input/output format of most Lustre/verimag tools.
val string_of_value : value -> string
Pretty-print
val rif_write_interface : Pervasives.out_channel -> state -> bool -> unit
writes the input and output var names and types. To be called
before the first step is printed
val rif_write : Pervasives.out_channel ->
state -> subst list -> subst list -> unit
write oc inputs outputs
writes the inputs and outputs. To be
called after each step.