public class OneWordS64BitSet extends Object implements IStateBitSet
Constructor and Description |
---|
OneWordS64BitSet(IEnvironment environment,
int nbits)
Creates a bit set whose initial size is large enough to explicitly
represent bits with indices in the range
0 through
nbits-1 . |
Modifier and Type | Method and Description |
---|---|
int |
cardinality()
Returns the number of bits set to true in this
BitSet . |
void |
clear()
Sets all of the bits in this BitSet to
false . |
void |
clear(int bitIndex)
Sets the bit specified by the index to
false . |
void |
clear(int fromIndex,
int toIndex)
Sets the bits from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to
false . |
boolean |
equals(Object obj) |
boolean |
get(int bitIndex)
Returns the value of the bit with the specified index.
|
int |
hashCode() |
boolean |
isEmpty()
Returns true if this
BitSet contains no bits that are set
to true . |
int |
length()
Returns the "logical size" of this
BitSet : the index of
the highest set bit in the BitSet plus one. |
int |
nextClearBit(int fromIndex)
Returns the index of the first bit that is set to
false
that occurs on or after the specified starting index. |
int |
nextSetBit(int fromIndex)
Returns the index of the first bit that is set to
true
that occurs on or after the specified starting index. |
int |
prevClearBit(int fromIndex)
Returns the index of the nearest bit that is set to
false
that occurs on or before the specified starting index. |
int |
prevSetBit(int fromIndex)
Returns the index of the nearest bit that is set to
true
that occurs on or before the specified starting index. |
void |
set(int bitIndex)
Sets the bit at the specified index to
true . |
void |
set(int bitIndex,
boolean value)
Sets the bit at the specified index to the specified value.
|
void |
set(int fromIndex,
int toIndex)
Sets the bits from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to
true . |
int |
size()
Returns the number of bits of space actually in use by this
BitSet to represent bit values. |
String |
toString() |
public OneWordS64BitSet(IEnvironment environment, int nbits)
0
through
nbits-1
. All bits are initially false
.environment
- backtrackable environmentnbits
- the initial size of the bit set.NegativeArraySizeException
- if the specified initial size
is negative.public void set(int bitIndex)
true
.set
in interface IStateBitSet
bitIndex
- a bit index.IndexOutOfBoundsException
- if the specified index is negative.public void set(int bitIndex, boolean value)
set
in interface IStateBitSet
bitIndex
- a bit index.value
- a boolean value to set.IndexOutOfBoundsException
- if the specified index is negative.public void set(int fromIndex, int toIndex)
true
.set
in interface IStateBitSet
fromIndex
- index of the first bit to be set.toIndex
- index after the last bit to be set.IndexOutOfBoundsException
- if fromIndex is negative,
or toIndex is negative, or fromIndex is
larger than toIndex.public void clear(int bitIndex)
false
.clear
in interface IStateBitSet
bitIndex
- the index of the bit to be cleared.IndexOutOfBoundsException
- if the specified index is negative.public void clear(int fromIndex, int toIndex)
false
.clear
in interface IStateBitSet
fromIndex
- index of the first bit to be cleared.toIndex
- index after the last bit to be cleared.IndexOutOfBoundsException
- if fromIndex is negative,
or toIndex is negative, or fromIndex is
larger than toIndex.public void clear()
false
.clear
in interface IStateBitSet
public final boolean get(int bitIndex)
true
if the bit with the index bitIndex
is currently set in this BitSet
; otherwise, the result
is false
.get
in interface IStateBitSet
bitIndex
- the bit index.IndexOutOfBoundsException
- if the specified index is negative.public int nextSetBit(int fromIndex)
true
that occurs on or after the specified starting index. If no such
bit exists then -1
is returned.
To iterate over the true
bits in a BitSet
,
use the following loop:
for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i+1)) {
// operate on index i here
}
nextSetBit
in interface IStateBitSet
fromIndex
- the index to start checking from (inclusive)-1
if there
is no such bitIndexOutOfBoundsException
- if the specified index is negativepublic int nextClearBit(int fromIndex)
false
that occurs on or after the specified starting index.nextClearBit
in interface IStateBitSet
fromIndex
- the index to start checking from (inclusive)IndexOutOfBoundsException
- if the specified index is negativepublic int prevSetBit(int fromIndex)
true
that occurs on or before the specified starting index.
If no such bit exists, or if -1
is given as the
starting index, then -1
is returned.
To iterate over the true
bits in a BitSet
,
use the following loop:
for (int i = bs.length(); (i = bs.previousSetBit(i-1)) >= 0; ) {
// operate on index i here
}
prevSetBit
in interface IStateBitSet
fromIndex
- the index to start checking from (inclusive)-1
if there
is no such bitIndexOutOfBoundsException
- if the specified index is less
than -1
public int prevClearBit(int fromIndex)
false
that occurs on or before the specified starting index.
If no such bit exists, or if -1
is given as the
starting index, then -1
is returned.prevClearBit
in interface IStateBitSet
fromIndex
- the index to start checking from (inclusive)-1
if there
is no such bitIndexOutOfBoundsException
- if the specified index is less
than -1
public int length()
BitSet
: the index of
the highest set bit in the BitSet
plus one. Returns zero
if the BitSet
contains no set bits.BitSet
.public boolean isEmpty()
BitSet
contains no bits that are set
to true
.isEmpty
in interface IStateBitSet
BitSet
is empty.public int cardinality()
BitSet
.cardinality
in interface IStateBitSet
BitSet
.public int size()
BitSet
to represent bit values.
The maximum element in the set is the size - 1st element.size
in interface IStateBitSet
Copyright © 2018. All rights reserved.