Module Luc4ocaml

module Luc4ocaml: sig .. end

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.

val make : int -> bool -> string -> int -> int -> string list -> state

Builds the initial state of the Lucky machine

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.

val step : step_mode ->
state -> inputs -> state * solution

the default step mode is StepInside

val step_se : step_mode ->
state Stdlib.ref -> inputs -> solution

side-effect version of step

val rif_read : Stdlib.in_channel -> state -> inputs * state

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