public class OneWordS32BitSet extends Object implements IStateBitSet
Constructor and Description |
---|
OneWordS32BitSet(IEnvironment environment)
Creates a new bit set.
|
OneWordS32BitSet(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 |
---|---|
void |
and(IStateBitSet setI)
Performs a logical AND of this target bit set with the
argument bit set.
|
void |
andNot(IStateBitSet setI)
Clears all of the bits in this
BitSet whose corresponding
bit is set in the specified BitSet . |
int |
capacity() |
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 . |
IStateBitSet |
copy() |
static <T> T[] |
copyOf(T[] original,
int newLength) |
static <T,U> T[] |
copyOf(U[] original,
int newLength,
Class<? extends T[]> newType) |
BitSet |
copyToBitSet() |
boolean |
equals(Object obj) |
void |
flip(int bitIndex)
Sets the bit at the specified index to the complement of its
current value.
|
void |
flip(int fromIndex,
int toIndex)
Sets each bit from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to the complement of its current
value.
|
boolean |
get(int bitIndex)
Returns the value of the bit with the specified index.
|
OneWordS32BitSet |
get(int fromIndex,
int toIndex)
Returns a new BitSet composed of bits from this BitSet
from fromIndex (inclusive) to toIndex (exclusive).
|
int |
hashCode() |
boolean |
intersects(IStateBitSet setI)
Returns true if the specified
BitSet has any bits set to
true that are also set to true in this
BitSet . |
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. |
void |
or(IStateBitSet setI)
Performs a logical OR of this bit set with the bit set
argument.
|
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 . |
void |
set(int fromIndex,
int toIndex,
boolean value)
Sets the bits from the specified fromIndex (inclusive) to the
specified toIndex (exclusive) to the specified value.
|
int |
size()
Returns the number of bits of space actually in use by this
BitSet to represent bit values. |
String |
toString() |
void |
xor(IStateBitSet setI)
Performs a logical XOR of this bit set with the bit set
argument.
|
public OneWordS32BitSet(IEnvironment environment)
false
.environment
- bactrackable environmentpublic OneWordS32BitSet(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 static <T> T[] copyOf(T[] original, int newLength)
public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType)
public BitSet copyToBitSet()
copyToBitSet
in interface IStateBitSet
public void flip(int bitIndex)
flip
in interface IStateBitSet
bitIndex
- the index of the bit to flip.IndexOutOfBoundsException
- if the specified index is negative.public void flip(int fromIndex, int toIndex)
flip
in interface IStateBitSet
fromIndex
- index of the first bit to flip.toIndex
- index after the last bit to flip.IndexOutOfBoundsException
- if fromIndex is negative,
or toIndex is negative, or fromIndex is
larger than toIndex.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 set(int fromIndex, int toIndex, boolean value)
fromIndex
- index of the first bit to be set.toIndex
- index after the last bit to be setvalue
- value to set the selected bits toIndexOutOfBoundsException
- 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 OneWordS32BitSet get(int fromIndex, int toIndex)
fromIndex
- index of the first bit to include.toIndex
- index after the last bit to include.IndexOutOfBoundsException
- if fromIndex is negative,
or toIndex is negative, or fromIndex is
larger than toIndex.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 capacity()
capacity
in interface IStateBitSet
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 void and(IStateBitSet setI)
true
if and only if it both initially
had the value true
and the corresponding bit in the
bit set argument also had the value true
.and
in interface IStateBitSet
setI
- a bit set.public void or(IStateBitSet setI)
true
if and only if it either already had the
value true
or the corresponding bit in the bit set
argument has the value true
.or
in interface IStateBitSet
setI
- a bit set.public void xor(IStateBitSet setI)
true
if and only if one of the following
statements holds:
true
, and the
corresponding bit in the argument has the value false
.
false
, and the
corresponding bit in the argument has the value true
.
xor
in interface IStateBitSet
setI
- a bit set.public void andNot(IStateBitSet setI)
BitSet
whose corresponding
bit is set in the specified BitSet
.andNot
in interface IStateBitSet
setI
- the BitSet
with which to mask this
BitSet
.public boolean intersects(IStateBitSet setI)
BitSet
has any bits set to
true
that are also set to true
in this
BitSet
.intersects
in interface IStateBitSet
setI
- BitSet
to intersect withBitSet
intersects
the specified BitSet
.public int size()
BitSet
to represent bit values.
The maximum element in the set is the size - 1st element.size
in interface IStateBitSet
public IStateBitSet copy()
copy
in interface IStateBitSet
Copyright © 2015. All rights reserved.