Term.BvSourceinclude Bitvector.Common with type t = Bitvector.tcompare t t' returns the structural comparison of t and t'.
The result is not sorted according to the values of t and t', thus, they can be of different sizes.
It is useful for key comparison for structures like `Set` or `Map`.
ucompare t t' returns the comparison of the unsigned values of t and t'.
It is equivalent of Z.compare (value_of t) (value_of t').
The bitvector t and t' should be of the same size.
scompare t t' returns the comparison of the signed values of t and t'.
It is equivalent of Z.compare (signed_of t) (signed_of t').
The bitvector t and t' should be of the same size.
fill lo hi n returns a bitvector of size n where bits from lo to hi are set to one. By default, lo is equal to zero and hi is equal to n. Raise Invalid_argument if lo or hi have incoherent values.
is_zeros t (resp. is_ones t) checks if it exists n such that t is equal to zeros n (resp. ones n)
max_ubv n (resp. max_sbv n) returns a bitvector of size n containing the biggest possible unsigned (resp. signed) value for its size
is_max_ubv t (resp. is_max_sbv t) returns true if t is a bitvector containing the biggest possible unsigned (resp. signed) value for its size, or returns false otherwise
include Sigs.COMPARISON with type t := t and type boolean = boolinclude Sigs.ARITHMETIC with type t := tis_neg t (resp. is_pos t) returns true if the signed interpretation of t is strictly negative (resp. strictly positive)
include Sigs.BITWISE with type t := t