This class implements vectors of bits and the operations needed to use them. More...
static final long serialVersionUID = -3448233092524725148LThis class implements vectors of bits and the operations needed to use them.
The vectors can be of arbitrary length. The operations provided are all the binary operations available to the int
and long
primitive types in Java.
All bit operations are present in two forms: a normal form and a self
form. The normal form returns a newly created object containing the result, while the self
form puts the result in the calling object (this
). The return value of the self
form is the calling object itself. This is done to allow easier manipulation of the results, making it possible to chain operations.
Creates a new BitVector
of length length
with all its bits set to 0.
Creates a new BitVector
of length length
using the data in vect
.
Component vect[0]
makes the 32 lowest order bits, with vect[1]
being the 32 next lowest order bits, and so on. The normal bit order is then used to fill the 32 bits (the first bit is the lowest order bit and the last bit is largest order bit). Note that the sign bit is used as the largest order bit.
vect
is not compatible with the length
provided
Creates a new BitVector
using the data in vect
.
The length of the BitVector
is always equals to 32 times the length of vect
.
Creates a copy of the BitVector that
.
Returns a BitVector
which is the result of the and
operator with both the this
and that
BitVector
’s.
The and
operator is equivalent to the &
operator in Java. Only bits which are set to 1 in both this
and that
are set to 1 in the result, all the others are set to 0.
and
operator
and
operation
Resizes the BitVector
so that its length is equal to size
.
If the BitVector
is enlarged, then the newly added bits are given the value 1 if filling
is set to true
and 0 otherwise.
BitVector
filling the state of the new bits
Resizes the BitVector
so that its length is equal to size
.
Any new bit added is set to 0.
Verifies if two BitVector
’s have the same length and the same data.
BitVector
’s are identiqual
Gives the value of the bit in position pos
.
If the value is 1, returns true
; otherwise, returns false
.
pos
is outside the range of the BitVector
Returns an int
containing all the bits in the interval \([\mathtt{pos} \times32, \mathtt{pos} \times32 + 31]\).
pos
is outside the range of the BitVector
Returns a BitVector
which is the result of the not
operator on the current BitVector
.
The not
operator is equivalent to the ~
operator in Java and thus swap all bits (bits previously set to 0 become 1 and bits previously set to 1 become 0).
not
operator
Returns a BitVector
which is the result of the or
operator with both the this
and that
BitVector
’s.
The or
operator is equivalent to the |
operator in Java. Only bits which are set to 0 in both this
and that
are set to to 0 in the result, all the others are set to 1.
or
operator
or
operation
Returns the scalar product of two BitVector
’s modulo 2.
It returns true
if there is an odd number of bits with a value of 1 in the result of the and
operator applied on this
and that
, and returns false
otherwise.
BitVector
with which to do the scalar product
Applies the and
operator on this
with that
.
Stores the result in this
and returns it.
and
operator
this
Applies the not
operator on the current BitVector
and returns it.
BitVector
itself
Applies the or
operator on this
with that
.
Stores the result in this
and returns it.
or
operator
this
Shift all the bits of the current BitVector
j
positions to the right if j
is positive, and j
positions to the left if j
is negative.
The new bits that appears to the left or to the rigth are set to 0. Returns this
.
this
Applies the xor
operator on this
with that
.
Stores the result in this
and returns it.
xor
operator
this
Sets the value of the bit in position pos
.
If value
is equal to true
, sets it to 1; otherwise, sets it to 0.
pos
is outside the range of the BitVector
Returns a BitVector
equal to the original with all the bits shifted j
positions to the right if j
is positive, and shifted j
positions to the left if j
is negative.
The new bits that appears to the left or to the right are set to 0. If j
is positive, this operation is equivalent to the >>>
operator in Java, otherwise, it is equivalent to the <<
operator.
BitVector
Returns a string containing all the bits of the BitVector
, starting with the highest order bit and finishing with the lowest order bit.
The bits are grouped by groups of 8 bits for ease of reading.
BitVector
Returns a BitVector
which is the result of the xor
operator applied on this
and that
.
The xor
operator is equivalent to the ^
operator in Java. All bits which were set to 0 in one of the vector and to 1 in the other vector are set to 1. The others are set to 0. This is equivalent to the addition in modulo 2 arithmetic.
xor
operator
xor
operation
The documentation for this class was generated from the following file:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4