com.badlogic.gdx.utils
Class Bits

java.lang.Object
  extended by com.badlogic.gdx.utils.Bits

public class Bits
extends Object

A bitset, without size limitation, allows comparison via bitwise operators to other bitfields.

Author:
mzechner, jshapcott

Constructor Summary
Bits()
           
Bits(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(Bits other)
          Performs a logical AND of this target bit set with the argument bit set.
 void andNot(Bits other)
          Clears all of the bits in this bit set whose corresponding bit is set in the specified bit set.
 void clear()
          Clears the entire bitset
 void clear(int index)
           
 boolean containsAll(Bits other)
          Returns true if this bit set is a super set of the specified set, i.e.
 void flip(int index)
           
 boolean get(int index)
           
 boolean getAndClear(int index)
          Returns the bit at the given index and clears it in one go.
 boolean getAndSet(int index)
          Returns the bit at the given index and sets it in one go.
 boolean intersects(Bits other)
          Returns true if the specified BitSet has any bits set to true that are also set to true in this BitSet.
 boolean isEmpty()
           
 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 numBits()
           
 void or(Bits other)
          Performs a logical OR of this bit set with the bit set argument.
 void set(int index)
           
 void xor(Bits other)
          Performs a logical XOR of this bit set with the bit set argument.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Bits

public Bits()

Bits

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

Parameters:
nbits - the initial size of the bit set
Method Detail

get

public boolean get(int index)
Parameters:
index - the index of the bit
Returns:
whether the bit is set
Throws:
ArrayIndexOutOfBoundsException - if index < 0

getAndClear

public boolean getAndClear(int index)
Returns the bit at the given index and clears it in one go.

Parameters:
index - the index of the bit
Returns:
whether the bit was set before invocation
Throws:
ArrayIndexOutOfBoundsException - if index < 0

getAndSet

public boolean getAndSet(int index)
Returns the bit at the given index and sets it in one go.

Parameters:
index - the index of the bit
Returns:
whether the bit was set before invocation
Throws:
ArrayIndexOutOfBoundsException - if index < 0

set

public void set(int index)
Parameters:
index - the index of the bit to set
Throws:
ArrayIndexOutOfBoundsException - if index < 0

flip

public void flip(int index)
Parameters:
index - the index of the bit to flip

clear

public void clear(int index)
Parameters:
index - the index of the bit to clear
Throws:
ArrayIndexOutOfBoundsException - if index < 0

clear

public void clear()
Clears the entire bitset


numBits

public int numBits()
Returns:
the number of bits currently stored, not the highset set bit!

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

isEmpty

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

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.


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. If no such bit exists then -1 is returned.


and

public void and(Bits other)
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.

Parameters:
other - a bit set

andNot

public void andNot(Bits other)
Clears all of the bits in this bit set whose corresponding bit is set in the specified bit set.

Parameters:
other - a bit set

or

public void or(Bits other)
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.

Parameters:
other - a bit set

xor

public void xor(Bits other)
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:

Parameters:
other -

intersects

public boolean intersects(Bits other)
Returns true if the specified BitSet has any bits set to true that are also set to true in this BitSet.

Parameters:
other - a bit set
Returns:
boolean indicating whether this bit set intersects the specified bit set

containsAll

public boolean containsAll(Bits other)
Returns true if this bit set is a super set of the specified set, i.e. it has all bits set to true that are also set to true in the specified BitSet.

Parameters:
other - a bit set
Returns:
boolean indicating whether this bit set is a super set of the specified set


Copyright © 2013. All Rights Reserved.