module Env:sig..end
type'atypdef ='a Bdd.Env.typdef
'a is the type of symbols (typically, string).type'atyp =[ `Benum of 'a | `Bint of bool * int | `Bool | `Int | `Real ]
'a is the type of symbols (typically, string).type'asymbol ='a Bdd.Env.symbol= {
|
compare : |
(* | Total order | *) |
|
marshal : |
(* | Conversion to string. The generated strings SHOULD NOT contain NULL character, as they may be converted to C strings. | *) |
|
unmarshal : |
(* | Conversion from string | *) |
|
mutable print : |
(* | Printing | *) |
DO NOT USE Marshal.to_string and Marshal.from_string, as they
generate strings with NULL character, which is not handled
properly when converted to C strings.
You may use instead Bddapron.Env.marshal and Bddapron.Env.unmarshal.
type ('a, 'b) ext = {
|
mutable table : |
|
mutable eapron : |
|
mutable aext : |
'a is the type of symbols, 'b is
the type of further extension.type('a, 'b, 'c, 'd)t0 =('a, 'b, 'c, Cudd.Man.v, ('a, 'd) ext) Bdd.Env.t0
'a is the type of symbols;'b is the type of variables type;'c is the type of type definitions;'d is the type of further extensionBdd.Env.t0 for more (internal) details.module O:sig..end
type'at =('a, 'a typ, 'a typdef, unit) O.t
val print_typ : (Format.formatter -> 'a -> unit) ->
Format.formatter -> [> 'a typ ] -> unitval print_typdef : (Format.formatter -> 'a -> unit) ->
Format.formatter -> [> 'a typdef ] -> unitval print_idcondb : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> Format.formatter -> int * bool -> unitval print_order : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> Format.formatter -> unitval print : Format.formatter ->
('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> unitval marshal : 'a -> string
(Based on Marshal.to_string with Marshal.No_sharing option.)
val unmarshal : string -> 'aval make_symbol : ?compare:('a -> 'a -> int) ->
?marshal:('a -> string) ->
?unmarshal:(string -> 'a) ->
(Format.formatter -> 'a -> unit) -> 'a symbolPervasives.compare, Bddapron.Env.marshal and Bddapron.Env.unmarshal.
DO NOT USE Marshal.to_string and Marshal.from_string, as they
generate strings with NULL character, which is not handled
properly when converted to C strings.
val string_symbol : string symbolstringval make : symbol:'a symbol ->
?bddindex0:int ->
?bddsize:int -> ?relational:bool -> Cudd.Man.vt -> 'a t
symbol is the manager for manipulating symbols;bddindex0: starting index in BDDs for finite-type variables;bddsize: number of indices booked for finite-type
variables. If at some point, there is no such
available index, a Failure exception is raised.relational: if true, primed indices (unprimed
indices plus one) are booked together with unprimed
indices. bddincr is initialized to 1 if
relational=false, 2 otherwise.bddindex0,bddsize,relational are
0,100,false.val make_string : ?bddindex0:int ->
?bddsize:int -> ?relational:bool -> Cudd.Man.vt -> string tmake_string XXX = make ~symbol:string_symbol XXXval copy : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> ('a, 'b, 'c, 'd) O.tval mem_typ : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a -> boolval mem_var : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a -> boolval mem_label : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a -> boolval typdef_of_typ : ('a, [> 'a typ ], [> 'a typdef ] as 'b, 'd)
O.t -> 'a -> 'bval typ_of_var : ('a, [> 'a typ ] as 'b, [> 'a typdef ], 'd)
O.t -> 'a -> 'bval vars : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a PSette.tval labels : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a PSette.tval apron : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> Apron.Environment.tval add_typ_with : ('a, [> 'a typ ], [> 'a typdef ] as 'b, 'd)
O.t -> 'a -> 'b -> unitval add_vars_with : ('a, [> 'a typ ] as 'b, [> 'a typdef ], 'd)
O.t -> ('a * 'b) list -> int array optionval remove_vars_with : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a list -> int array optionval rename_vars_with : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t ->
('a * 'a) list -> int array option * Apron.Dim.perm optionval add_typ : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> 'a -> 'c -> ('a, 'b, 'c, 'd) O.tval add_vars : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> ('a * 'b) list -> ('a, 'b, 'c, 'd) O.tval remove_vars : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> 'a list -> ('a, 'b, 'c, 'd) O.tval rename_vars : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> ('a * 'a) list -> ('a, 'b, 'c, 'd) O.tval is_leq : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> ('a, 'b, 'c, 'd) O.t -> boolval is_eq : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> ('a, 'b, 'c, 'd) O.t -> boolval lce : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t ->
('a, 'b, 'c, 'd) O.t -> ('a, 'b, 'c, 'd) O.ttype change = {
|
cbdd : |
|
capron : |
val compute_change : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> ('a, 'b, 'c, 'd) O.t -> changetype('a, 'b)value =('a, 'b) Bdd.Env.value= {
|
env : |
|
val0 : |
(environment, value)val make_value : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t ->
'e -> (('a, 'b, 'c, 'd) O.t, 'e) valueval get_env : ('a, 'b) value -> 'aval get_val0 : ('a, 'b) value -> 'bval check_var : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a -> unitval check_lvar : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a list -> unitval check_value : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t ->
(('a, 'b, 'c, 'd) O.t, 'e) value -> unitval check_value2 : (('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t, 'e)
value ->
(('a, 'b, 'c, 'd) O.t, 'f) value -> unitval check_value3 : (('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t, 'e)
value ->
(('a, 'b, 'c, 'd) O.t, 'f) value ->
(('a, 'b, 'c, 'd) O.t, 'g) value -> unitval check_lvarvalue : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t ->
('a * (('a, 'b, 'c, 'd) O.t, 'e) value) list ->
('a * 'e) listval check_lvalue : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t ->
(('a, 'b, 'c, 'd) O.t, 'e) value list -> 'e listval check_ovalue : ('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t ->
(('a, 'b, 'c, 'd) O.t, 'e) value option ->
'e optionval mapunop : ('e -> 'f) ->
(('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t, 'e)
value ->
(('a, 'b, 'c, 'd) O.t, 'f) valueval mapbinop : ('e -> 'f -> 'g) ->
(('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t, 'e)
value ->
(('a, 'b, 'c, 'd) O.t, 'f) value ->
(('a, 'b, 'c, 'd) O.t, 'g) valueval mapbinope : (('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t -> 'e -> 'f -> 'g) ->
(('a, 'b, 'c, 'd) O.t, 'e) value ->
(('a, 'b, 'c, 'd) O.t, 'f) value ->
(('a, 'b, 'c, 'd) O.t, 'g) valueval mapterop : ('e -> 'f -> 'g -> 'h) ->
(('a, [> 'a typ ] as 'b, [> 'a typdef ] as 'c, 'd)
O.t, 'e)
value ->
(('a, 'b, 'c, 'd) O.t, 'f) value ->
(('a, 'b, 'c, 'd) O.t, 'g) value ->
(('a, 'b, 'c, 'd) O.t, 'h) valueval var_of_aprondim : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> Apron.Dim.t -> 'aval aprondim_of_var : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> 'a -> Apron.Dim.tval string_of_aprondim : ('a, [> 'a typ ], [> 'a typdef ], 'd)
O.t -> Apron.Dim.t -> string