sig
type 'a t = 'a Cudd.Bdd.t array
type dt = Cudd.Man.d Bdd.Reg.t
type vt = Cudd.Man.v Bdd.Reg.t
val lnot : 'a Bdd.Reg.t -> 'a Bdd.Reg.t
val shift_left :
'a Cudd.Man.t -> int -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t * 'a Cudd.Bdd.t
val shift_right :
'a Cudd.Man.t -> int -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t * 'a Cudd.Bdd.t
val shift_right_logical :
'a Cudd.Man.t -> int -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t * 'a Cudd.Bdd.t
val extend :
'a Cudd.Man.t -> signed:bool -> int -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t
val succ : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t * 'a Cudd.Bdd.t
val pred : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t * 'a Cudd.Bdd.t
val add :
'a Cudd.Man.t ->
'a Bdd.Reg.t ->
'a Bdd.Reg.t -> 'a Bdd.Reg.t * 'a Cudd.Bdd.t * 'a Cudd.Bdd.t
val sub :
'a Cudd.Man.t ->
'a Bdd.Reg.t ->
'a Bdd.Reg.t -> 'a Bdd.Reg.t * 'a Cudd.Bdd.t * 'a Cudd.Bdd.t
val neg : 'a Bdd.Reg.t -> 'a Bdd.Reg.t
val scale : int -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t
val mul : 'a Bdd.Reg.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t
val ite : 'a Cudd.Bdd.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t
val is_cst : 'a Bdd.Reg.t -> bool
val zero : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Cudd.Bdd.t
val equal : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t -> 'a Cudd.Bdd.t
val greatereq :
'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t -> 'a Cudd.Bdd.t
val greater :
'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t -> 'a Cudd.Bdd.t
val highereq :
'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t -> 'a Cudd.Bdd.t
val higher : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t -> 'a Cudd.Bdd.t
val min_size : int -> int
val of_int : 'a Cudd.Man.t -> int -> int -> 'a Bdd.Reg.t
val to_int : signed:bool -> 'a Bdd.Reg.t -> int
val equal_int : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> int -> 'a Cudd.Bdd.t
val greatereq_int : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> int -> 'a Cudd.Bdd.t
val greater_int : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> int -> 'a Cudd.Bdd.t
val highereq_int : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> int -> 'a Cudd.Bdd.t
val higher_int : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> int -> 'a Cudd.Bdd.t
module Minterm :
sig
type t = Cudd.Man.tbool array
val is_indet : Bdd.Reg.Minterm.t -> bool
val of_int : int -> int -> Bdd.Reg.Minterm.t
val to_int : signed:bool -> Bdd.Reg.Minterm.t -> int
val iter : (Bdd.Reg.Minterm.t -> unit) -> Bdd.Reg.Minterm.t -> unit
val map : (Bdd.Reg.Minterm.t -> 'a) -> Bdd.Reg.Minterm.t -> 'a list
end
val guard_of_minterm :
'a Cudd.Man.t -> 'a Bdd.Reg.t -> Bdd.Reg.Minterm.t -> 'a Cudd.Bdd.t
val guard_of_int : 'a Cudd.Man.t -> 'a Bdd.Reg.t -> int -> 'a Cudd.Bdd.t
val guardints :
'a Cudd.Man.t ->
signed:bool -> 'a Bdd.Reg.t -> ('a Cudd.Bdd.t * int) list
val cofactor : 'a Bdd.Reg.t -> 'a Cudd.Bdd.t -> 'a Bdd.Reg.t
val restrict : 'a Bdd.Reg.t -> 'a Cudd.Bdd.t -> 'a Bdd.Reg.t
val tdrestrict : 'a Bdd.Reg.t -> 'a Cudd.Bdd.t -> 'a Bdd.Reg.t
val print :
(Format.formatter -> int -> unit) ->
Format.formatter -> 'a Bdd.Reg.t -> unit
val print_minterm :
signed:bool ->
(Format.formatter -> 'a Cudd.Bdd.t -> unit) ->
Format.formatter -> 'a Bdd.Reg.t -> unit
val permute :
?memo:Cudd.Memo.t -> 'a Bdd.Reg.t -> int array -> 'a Bdd.Reg.t
val varmap : 'a Bdd.Reg.t -> 'a Bdd.Reg.t
val vectorcompose :
?memo:Cudd.Memo.t -> 'a Cudd.Bdd.t array -> 'a Bdd.Reg.t -> 'a Bdd.Reg.t
end