package mlcuddidl

  1. Overview
  2. Docs
type 'a t
type !'a bdd =
  1. | Bool of bool
  2. | Ite of int * 'a t * 'a t
type dt = Man.d t
type vt = Man.v t
val manager : 'a t -> 'a Man.t
val is_cst : 'a t -> bool
val is_complement : 'a t -> bool
val topvar : 'a t -> int
val dthen : 'a t -> 'a t
val delse : 'a t -> 'a t
val cofactors : int -> 'a t -> 'a t * 'a t
val cofactor : 'a t -> 'a t -> 'a t
val inspect : 'a t -> 'a bdd
val support : 'a t -> 'a t
val supportsize : 'a t -> int
val is_var_in : int -> 'a t -> bool
val vectorsupport : 'a t array -> 'a t
val support_inter : 'a t -> 'a t -> 'a t
val support_union : 'a t -> 'a t -> 'a t
val support_diff : 'a t -> 'a t -> 'a t
val list_of_support : 'a t -> int list
val dtrue : 'a Man.t -> 'a t
val dfalse : 'a Man.t -> 'a t
val ithvar : 'a Man.t -> int -> 'a t
val newvar : 'a Man.t -> 'a t
val newvar_at_level : 'a Man.t -> int -> 'a t
val is_true : 'a t -> bool
val is_false : 'a t -> bool
val is_equal : 'a t -> 'a t -> bool
val is_leq : 'a t -> 'a t -> bool
val is_inter_empty : 'a t -> 'a t -> bool
val is_equal_when : 'a t -> 'a t -> 'a t -> bool
val is_leq_when : 'a t -> 'a t -> 'a t -> bool
val is_included_in : 'a t -> 'a t -> bool
val is_ite_cst : 'a t -> 'a t -> 'a t -> bool option
val is_var_dependent : int -> 'a t -> bool
val is_var_essential : int -> bool -> 'a t -> bool
val size : 'a t -> int
val nbpaths : 'a t -> float
val nbtruepaths : 'a t -> float
val nbminterms : int -> 'a t -> float
val density : int -> 'a t -> float
val dnot : 'a t -> 'a t
val dand : 'a t -> 'a t -> 'a t
val dor : 'a t -> 'a t -> 'a t
val xor : 'a t -> 'a t -> 'a t
val nand : 'a t -> 'a t -> 'a t
val nor : 'a t -> 'a t -> 'a t
val nxor : 'a t -> 'a t -> 'a t
val eq : 'a t -> 'a t -> 'a t
val ite : 'a t -> 'a t -> 'a t -> 'a t
val ite_cst : 'a t -> 'a t -> 'a t -> 'a t option
val compose : int -> 'a t -> 'a t -> 'a t
val vectorcompose : ?memo:Memo.t -> 'a t array -> 'a t -> 'a t
val intersect : 'a t -> 'a t -> 'a t
val varmap : 'a t -> 'a t
val permute : ?memo:Memo.t -> 'a t -> int array -> 'a t
val iter_node : ('a t -> unit) -> 'a t -> unit
val iter_cube : (Man.tbool array -> unit) -> 'a t -> unit
val iter_prime : (Man.tbool array -> unit) -> 'a t -> 'a t -> unit
val exist : 'a t -> 'a t -> 'a t
val forall : 'a t -> 'a t -> 'a t
val existand : 'a t -> 'a t -> 'a t -> 'a t
val existxor : 'a t -> 'a t -> 'a t -> 'a t
val booleandiff : 'a t -> int -> 'a t
val cube_of_bdd : 'a t -> 'a t
val cube_of_minterm : 'a Man.t -> Man.tbool array -> 'a t
val list_of_cube : 'a t -> (int * bool) list
val cube_union : 'a t -> 'a t -> 'a t
val pick_minterm : 'a t -> Man.tbool array
val pick_cube_on_support : 'a t -> 'a t -> 'a t
val pick_cubes_on_support : 'a t -> 'a t -> int -> 'a t array
val constrain : 'a t -> 'a t -> 'a t
val tdconstrain : 'a t -> 'a t -> 'a t
val restrict : 'a t -> 'a t -> 'a t
val tdrestrict : 'a t -> 'a t -> 'a t
val minimize : 'a t -> 'a t -> 'a t
val licompaction : 'a t -> 'a t -> 'a t
val squeeze : 'a t -> 'a t -> 'a t
val clippingand : 'a t -> 'a t -> int -> bool -> 'a t
val clippingexistand : 'a t -> 'a t -> 'a t -> int -> bool -> 'a t
val underapprox : int -> int -> bool -> float -> 'a t -> 'a t
val overapprox : int -> int -> bool -> float -> 'a t -> 'a t
val remapunderapprox : int -> int -> float -> 'a t -> 'a t
val remapoverapprox : int -> int -> float -> 'a t -> 'a t
val biasedunderapprox : int -> int -> float -> float -> 'a t -> 'a t -> 'a t
val biasedoverapprox : int -> int -> float -> float -> 'a t -> 'a t -> 'a t
val subsetcompress : int -> int -> 'a t -> 'a t
val supersetcompress : int -> int -> 'a t -> 'a t
val subsetHB : int -> int -> 'a t -> 'a t
val supersetHB : int -> int -> 'a t -> 'a t
val subsetSP : int -> int -> bool -> 'a t -> 'a t
val supersetSP : int -> int -> bool -> 'a t -> 'a t
val approxconjdecomp : 'a t -> ('a t * 'a t) option
val approxdisjdecomp : 'a t -> ('a t * 'a t) option
val iterconjdecomp : 'a t -> ('a t * 'a t) option
val iterdisjdecomp : 'a t -> ('a t * 'a t) option
val genconjdecomp : 'a t -> ('a t * 'a t) option
val gendisjdecomp : 'a t -> ('a t * 'a t) option
val varconjdecomp : 'a t -> ('a t * 'a t) option
val vardisjdecomp : 'a t -> ('a t * 'a t) option
val transfer : 'a t -> 'b Man.t -> 'b t
val correlation : 'a t -> 'a t -> float
val correlationweights : 'a t -> 'a t -> float array -> float
val _print : 'a t -> unit
val print__minterm : Format.formatter -> 'a t -> unit
val print_minterm : (Format.formatter -> int -> unit) -> Format.formatter -> 'a t -> unit
val print : (Format.formatter -> int -> unit) -> Format.formatter -> 'a t -> unit
val print_list : (Format.formatter -> int -> unit) -> Format.formatter -> (int * bool) list -> unit