- 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 >> |