Mavryk_raw_protocol_alpha.Bitset
val encoding : t Mavryk_protocol_environment_alpha.Data_encoding.t
val empty : t
A bitset encoding the empty set.
val mem :
t ->
int ->
bool Mavryk_protocol_environment_alpha.Error_monad.tzresult
mem field i
returns true
iff i
has been added in field
.
This functions returns Invalid_input i
if i
is negative.
val add : t -> int -> t Mavryk_protocol_environment_alpha.Error_monad.tzresult
add field i
returns a new bitset which contains i
in addition to the previous integers of field
.
This functions returns Invalid_input i
if i
is negative.
val from_list :
int list ->
t Mavryk_protocol_environment_alpha.Error_monad.tzresult
from_list positions
folds add
over the positions
starting from empty
. This function returns Invalid_input i
if i
is negative and appears in positions
.
val fill :
length:int ->
t Mavryk_protocol_environment_alpha.Error_monad.tzresult
fill ~length
is equivalent to setting all bits for positions in 0, length - 1
to one
. i.e., to from_list (0 -- size -1)
or to (2 ^ length) - 1
. But it's more efficient than folding on individual positions to set them.
The function returns Invalid_position length
if length
is negative.
inter set_l set_r
returns set
which is result of the intersection of set_l
and set_r
.
diff set_l set_r
returns a set
containing fiels in set_l
that are not in set_r
.
val occupied_size_in_bits : t -> int
occupied_size_in_bits bitset
returns the current number of bits occupied by the bitset
.
val hamming_weight : t -> int
hamming_weight bitset
returns the Hamming weight of bitset
.
val to_z : t -> Mavryk_protocol_environment_alpha.Z.t
to_z t
Returns the sum of powers of two of the given bitset.