sig
type t = { signed : bool; reg : Bdd.t array; }
exception Typing of string
val extend : Manager.t -> int -> Bddint.t -> Bddint.t
val neg : Bddint.t -> Bddint.t
val succ : Bddint.t -> Bddint.t
val pred : Bddint.t -> Bddint.t
val add : Bddint.t -> Bddint.t -> Bddint.t
val sub : Bddint.t -> Bddint.t -> Bddint.t
val shift_left : int -> Bddint.t -> Bddint.t
val shift_right : int -> Bddint.t -> Bddint.t
val scale : int -> Bddint.t -> Bddint.t
val ite : Bdd.t -> Bddint.t -> Bddint.t -> Bddint.t
val is_cst : Bddint.t -> bool
val zero : Manager.t -> Bddint.t -> Bdd.t
val equal : Manager.t -> Bddint.t -> Bddint.t -> Bdd.t
val greatereq : Manager.t -> Bddint.t -> Bddint.t -> Bdd.t
val greater : Manager.t -> Bddint.t -> Bddint.t -> Bdd.t
val of_int : Manager.t -> bool -> int -> int -> Bddint.t
val to_int : Bddint.t -> int
val equal_int : Manager.t -> Bddint.t -> int -> Bdd.t
val greatereq_int : Manager.t -> Bddint.t -> int -> Bdd.t
module Minterm :
sig
val iter : signed:bool -> (int -> unit) -> Bddreg.Minterm.t -> unit
val map : signed:bool -> (int -> 'a) -> Bddreg.Minterm.t -> 'a list
end
val guard_of_int : Manager.t -> Bddint.t -> int -> Bdd.t
val guardints : Manager.t -> Bddint.t -> (Bdd.t * int) list
val print : (int -> string) -> Format.formatter -> Bddint.t -> unit
val print_minterm :
(Format.formatter -> Bdd.t -> unit) ->
Format.formatter -> Bddint.t -> unit
end