choco.kernel.memory.structure
Class OneWordSBitSet64

java.lang.Object
  extended by choco.kernel.memory.structure.OneWordSBitSet64
All Implemented Interfaces:
IStateBitSet

public class OneWordSBitSet64
extends Object
implements IStateBitSet


Field Summary
protected static Logger LOGGER
           
 
Constructor Summary
OneWordSBitSet64(IEnvironment environment)
          Creates a new bit set.
OneWordSBitSet64(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.
 
Method Summary
 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.
 OneWordSBitSet64 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)
           
 int prevSetBit(int fromIndex)
          Returns the index of the first 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.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

LOGGER

protected static final Logger LOGGER
Constructor Detail

OneWordSBitSet64

public OneWordSBitSet64(IEnvironment environment)
Creates a new bit set. All bits are initially false.

Parameters:
environment - bactrackable environment

OneWordSBitSet64

public OneWordSBitSet64(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. All bits are initially false.

Parameters:
environment - backtrackable environment
nbits - the initial size of the bit set.
Throws:
NegativeArraySizeException - if the specified initial size is negative.
Method Detail

copyOf

public static <T> T[] copyOf(T[] original,
                             int newLength)

copyOf

public static <T,U> T[] copyOf(U[] original,
                               int newLength,
                               Class<? extends T[]> newType)

copyToBitSet

public BitSet copyToBitSet()
Specified by:
copyToBitSet in interface IStateBitSet

flip

public void flip(int bitIndex)
Sets the bit at the specified index to the complement of its current value.

Specified by:
flip in interface IStateBitSet
Parameters:
bitIndex - the index of the bit to flip.
Throws:
IndexOutOfBoundsException - if the specified index is negative.
Since:
1.4

flip

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

Specified by:
flip in interface IStateBitSet
Parameters:
fromIndex - index of the first bit to flip.
toIndex - index after the last bit to flip.
Throws:
IndexOutOfBoundsException - if fromIndex is negative, or toIndex is negative, or fromIndex is larger than toIndex.
Since:
1.4

set

public void set(int bitIndex)
Sets the bit at the specified index to true.

Specified by:
set in interface IStateBitSet
Parameters:
bitIndex - a bit index.
Throws:
IndexOutOfBoundsException - if the specified index is negative.
Since:
JDK1.0

set

public void set(int bitIndex,
                boolean value)
Sets the bit at the specified index to the specified value.

Specified by:
set in interface IStateBitSet
Parameters:
bitIndex - a bit index.
value - a boolean value to set.
Throws:
IndexOutOfBoundsException - if the specified index is negative.
Since:
1.4

set

public void set(int fromIndex,
                int toIndex)
Sets the bits from the specified fromIndex (inclusive) to the specified toIndex (exclusive) to true.

Specified by:
set in interface IStateBitSet
Parameters:
fromIndex - index of the first bit to be set.
toIndex - index after the last bit to be set.
Throws:
IndexOutOfBoundsException - if fromIndex is negative, or toIndex is negative, or fromIndex is larger than toIndex.
Since:
1.4

set

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

Parameters:
fromIndex - index of the first bit to be set.
toIndex - index after the last bit to be set
value - value to set the selected bits to
Throws:
IndexOutOfBoundsException - if fromIndex is negative, or toIndex is negative, or fromIndex is larger than toIndex.
Since:
1.4

clear

public void clear(int bitIndex)
Sets the bit specified by the index to false.

Specified by:
clear in interface IStateBitSet
Parameters:
bitIndex - the index of the bit to be cleared.
Throws:
IndexOutOfBoundsException - if the specified index is negative.
Since:
JDK1.0

clear

public void clear(int fromIndex,
                  int toIndex)
Sets the bits from the specified fromIndex (inclusive) to the specified toIndex (exclusive) to false.

Specified by:
clear in interface IStateBitSet
Parameters:
fromIndex - index of the first bit to be cleared.
toIndex - index after the last bit to be cleared.
Throws:
IndexOutOfBoundsException - if fromIndex is negative, or toIndex is negative, or fromIndex is larger than toIndex.
Since:
1.4

clear

public void clear()
Sets all of the bits in this BitSet to false.

Specified by:
clear in interface IStateBitSet
Since:
1.4

get

public final boolean get(int bitIndex)
Returns the value of the bit with the specified index. The value is true if the bit with the index bitIndex is currently set in this BitSet; otherwise, the result is false.

Specified by:
get in interface IStateBitSet
Parameters:
bitIndex - the bit index.
Returns:
the value of the bit with the specified index.
Throws:
IndexOutOfBoundsException - if the specified index is negative.

get

public OneWordSBitSet64 get(int fromIndex,
                            int toIndex)
Returns a new BitSet composed of bits from this BitSet from fromIndex (inclusive) to toIndex (exclusive).

Parameters:
fromIndex - index of the first bit to include.
toIndex - index after the last bit to include.
Returns:
a new BitSet from a range of this BitSet.
Throws:
IndexOutOfBoundsException - if fromIndex is negative, or toIndex is negative, or fromIndex is larger than toIndex.
Since:
1.4

nextSetBit

public 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. 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
 }

Specified by:
nextSetBit in interface IStateBitSet
Parameters:
fromIndex - the index to start checking from (inclusive).
Returns:
the index of the next set bit.
Throws:
IndexOutOfBoundsException - if the specified index is negative.
Since:
1.4

prevSetBit

public int prevSetBit(int fromIndex)
Returns the index of the first bit that is set to true that occurs on or before the specified starting index. If no such bit exists then -1 is returned.

Specified by:
prevSetBit in interface IStateBitSet
Parameters:
fromIndex - the index to start checking from (inclusive).
Returns:
the index of the previous set bit.
Throws:
IndexOutOfBoundsException - if the specified index is negative or too large

prevClearBit

public int prevClearBit(int fromIndex)
Specified by:
prevClearBit in interface IStateBitSet

capacity

public int capacity()
Specified by:
capacity in interface IStateBitSet

nextClearBit

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

Specified by:
nextClearBit in interface IStateBitSet
Parameters:
fromIndex - the index to start checking from (inclusive).
Returns:
the index of the next clear bit.
Throws:
IndexOutOfBoundsException - if the specified index is negative.
Since:
1.4

length

public int length()
Returns the "logical size" of this BitSet: the index of the highest set bit in the BitSet plus one. Returns zero if the BitSet contains no set bits.

Returns:
the logical size of this BitSet.
Since:
1.2

isEmpty

public boolean isEmpty()
Returns true if this BitSet contains no bits that are set to true.

Specified by:
isEmpty in interface IStateBitSet
Returns:
boolean indicating whether this BitSet is empty.
Since:
1.4

cardinality

public int cardinality()
Returns the number of bits set to true in this BitSet.

Specified by:
cardinality in interface IStateBitSet
Returns:
the number of bits set to true in this BitSet.
Since:
1.4

and

public void and(IStateBitSet setI)
Performs a logical AND of this target bit set with the argument bit set. This bit set is modified so that each bit in it has the value 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.

Specified by:
and in interface IStateBitSet
Parameters:
setI - a bit set.

or

public void or(IStateBitSet setI)
Performs a logical OR of this bit set with the bit set argument. This bit set is modified so that a bit in it has the value 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.

Specified by:
or in interface IStateBitSet
Parameters:
setI - a bit set.

xor

public void xor(IStateBitSet setI)
Performs a logical XOR of this bit set with the bit set argument. This bit set is modified so that a bit in it has the value true if and only if one of the following statements holds:

Specified by:
xor in interface IStateBitSet
Parameters:
setI - a bit set.

andNot

public void andNot(IStateBitSet setI)
Clears all of the bits in this BitSet whose corresponding bit is set in the specified BitSet.

Specified by:
andNot in interface IStateBitSet
Parameters:
setI - the BitSet with which to mask this BitSet.
Since:
1.2

intersects

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

Specified by:
intersects in interface IStateBitSet
Parameters:
setI - BitSet to intersect with
Returns:
boolean indicating whether this BitSet intersects the specified BitSet.
Since:
1.4

hashCode

public int hashCode()
Overrides:
hashCode in class Object

size

public int size()
Returns the number of bits of space actually in use by this BitSet to represent bit values. The maximum element in the set is the size - 1st element.

Specified by:
size in interface IStateBitSet
Returns:
the number of bits currently in this bit set.

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

copy

public IStateBitSet copy()
Specified by:
copy in interface IStateBitSet

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2012. All Rights Reserved.