| - Up - | Next >> |
Module BitString provides an interface to a fast and economical representation for immutable bit sequences.
IsBitString
{BitString.is+X?B}
tests whether X is a bit string.
make
{BitString.make+I+L?BitString}
creates a bit string of width I with precisely those bits set that are specified in L, a list of indices.
conj
{BitString.conj+BitString1+BitString2?BitString3}
returns the bitwise ``and'' of its first and second arguments, which must be of indentical widths.
disj
{BitString.disj+BitString1+BitString2?BitString3}
returns the bitwise ``or'' of its first and second arguments, which must be of indentical widths.
nega
{BitString.nega+BitString1?BitString2}
returns the bitwise negation of its first argument.
get
{BitString.get+BitString+I?B}
tests whether bit I of BitString is set.
put
{BitString.put+BitString1+I+B?BitString2}
returns a new bit string which is identical to BitString1 except that bit I is set iff B is true.
width
{BitString.width+BitString?I}
returns the width of the BitString.
toList
{BitString.toList+BitString?L}
returns the list of indices of all set bits in BitString.
| - Up - | Next >> |