sig
type 'a t = { signed : bool; reg : 'a Cudd.Bdd.t array; }
type dt = Cudd.Man.d Bdd.Int.t
type vt = Cudd.Man.v Bdd.Int.t
exception Typing of string
val extend : 'a Cudd.Man.t -> int -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val neg : 'a Bdd.Int.t -> 'a Bdd.Int.t
val succ : 'a Bdd.Int.t -> 'a Bdd.Int.t
val pred : 'a Bdd.Int.t -> 'a Bdd.Int.t
val add : 'a Bdd.Int.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val sub : 'a Bdd.Int.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val mul : 'a Bdd.Int.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val shift_left : int -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val shift_right : int -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val scale : int -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val ite : 'a Cudd.Bdd.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t
val is_cst : 'a Bdd.Int.t -> bool
val zero : 'a Cudd.Man.t -> 'a Bdd.Int.t -> 'a Cudd.Bdd.t
val equal : 'a Cudd.Man.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t -> 'a Cudd.Bdd.t
val greatereq :
'a Cudd.Man.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t -> 'a Cudd.Bdd.t
val greater :
'a Cudd.Man.t -> 'a Bdd.Int.t -> 'a Bdd.Int.t -> 'a Cudd.Bdd.t
val of_int : 'a Cudd.Man.t -> bool -> int -> int -> 'a Bdd.Int.t
val to_int : 'a Bdd.Int.t -> int
val equal_int : 'a Cudd.Man.t -> 'a Bdd.Int.t -> int -> 'a Cudd.Bdd.t
val greatereq_int : 'a Cudd.Man.t -> 'a Bdd.Int.t -> int -> 'a Cudd.Bdd.t
val greater_int : 'a Cudd.Man.t -> 'a Bdd.Int.t -> int -> 'a Cudd.Bdd.t
module Minterm :
sig
val iter : signed:bool -> (int -> unit) -> Bdd.Reg.Minterm.t -> unit
val map : signed:bool -> (int -> 'a) -> Bdd.Reg.Minterm.t -> 'a list
end
val guard_of_int : 'a Cudd.Man.t -> 'a Bdd.Int.t -> int -> 'a Cudd.Bdd.t
val guardints : 'a Cudd.Man.t -> 'a Bdd.Int.t -> ('a Cudd.Bdd.t * int) list
val cofactor : 'a Bdd.Int.t -> 'a Cudd.Bdd.t -> 'a Bdd.Int.t
val restrict : 'a Bdd.Int.t -> 'a Cudd.Bdd.t -> 'a Bdd.Int.t
val tdrestrict : 'a Bdd.Int.t -> 'a Cudd.Bdd.t -> 'a Bdd.Int.t
val print :
(Format.formatter -> int -> unit) ->
Format.formatter -> 'a Bdd.Int.t -> unit
val print_minterm :
(Format.formatter -> 'a Cudd.Bdd.t -> unit) ->
Format.formatter -> 'a Bdd.Int.t -> unit
val permute :
?memo:Cudd.Memo.t -> 'a Bdd.Int.t -> int array -> 'a Bdd.Int.t
val varmap : 'a Bdd.Int.t -> 'a Bdd.Int.t
val vectorcompose :
?memo:Cudd.Memo.t -> 'a Cudd.Bdd.t array -> 'a Bdd.Int.t -> 'a Bdd.Int.t
end