package mlcuddidl

  1. Overview
  2. Docs
type +'a t
type !'a vdd =
  1. | Leaf of 'a
  2. | Ite of int * 'a t * 'a t
val manager : 'a t -> Man.v Man.t
val is_cst : '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 -> Man.v Bdd.t -> 'a t
val dval : 'a t -> 'a
val inspect : 'a t -> 'a vdd
val support : 'a t -> Man.v Bdd.t
val supportsize : 'a t -> int
val is_var_in : int -> 'a t -> bool
val vectorsupport : 'a t array -> Man.v Bdd.t
val vectorsupport2 : Man.v Bdd.t array -> 'a t array -> Man.v Bdd.t
val cst : Man.v Man.t -> 'a -> 'a t
val _background : Man.v Man.t -> 'a t
val ite : Man.v Bdd.t -> 'a t -> 'a t -> 'a t
val ite_cst : Man.v Bdd.t -> 'a t -> 'a t -> 'a t option
val eval_cst : 'a t -> Man.v Bdd.t -> 'a t option
val compose : int -> Bdd.vt -> 'a t -> 'a t
val vectorcompose : ?memo:Memo.t -> Bdd.vt array -> 'a t -> 'a t
val is_equal : 'a t -> 'a t -> bool
val is_equal_when : 'a t -> 'a t -> Man.v Bdd.t -> bool
val is_eval_cst : 'a t -> Man.v Bdd.t -> 'a option
val is_ite_cst : Man.v Bdd.t -> 'a t -> 'a t -> 'a option
val size : 'a t -> int
val nbpaths : 'a t -> float
val nbnonzeropaths : 'a t -> float
val nbminterms : int -> 'a t -> float
val density : int -> 'a t -> float
val nbleaves : 'a t -> int
val varmap : 'a t -> 'a t
val permute : ?memo:Memo.t -> 'a t -> int array -> 'a t
val iter_cube : (Man.tbool array -> 'a -> unit) -> 'a t -> unit
val iter_node : ('a t -> unit) -> 'a t -> unit
val guard_of_node : 'a t -> 'a t -> Man.v Bdd.t
val guard_of_nonbackground : 'a t -> Man.v Bdd.t
val nodes_below_level : ?max:int -> 'a t -> int option -> 'a t array
val guard_of_leaf : 'a t -> 'a -> Man.v Bdd.t
val leaves : 'a t -> 'a array
val pick_leaf : 'a t -> 'a
val guardleafs : 'a t -> (Man.v Bdd.t * 'a) array
val fold_guardleaves : (Man.v Bdd.t -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val constrain : 'a t -> Man.v Bdd.t -> 'a t
val tdconstrain : 'a t -> Man.v Bdd.t -> 'a t
val restrict : 'a t -> Man.v Bdd.t -> 'a t
val tdrestrict : 'a t -> Man.v Bdd.t -> 'a t
val transfer : 'a t -> Man.v Man.t -> 'a t
val print__minterm : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit
val print_minterm : (Format.formatter -> int -> unit) -> (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit
val print : (Format.formatter -> Man.v Bdd.t -> unit) -> (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit