Package com.ibm.wala.util.intset
Class OffsetBitVector
- All Implemented Interfaces:
Serializable,Cloneable
- See Also:
-
Field Summary
Fields inherited from class com.ibm.wala.util.intset.BitVectorBase
bits, BITS_PER_UNIT, DEBUG, LOG_BITS_PER_UNIT, LOW_MASK, MASK -
Constructor Summary
ConstructorsConstructorDescriptionOffsetBitVector(int offset, int nbits) Creates an empty string with the specified size.Creates a copy of a Bit String -
Method Summary
Modifier and TypeMethodDescriptionfinal voidand(OffsetBitVector set) Logically ANDs this bit set with the specified set of bits.static OffsetBitVectorand(OffsetBitVector b1, OffsetBitVector b2) Return a new bit string as the AND of two others.voidandNot(OffsetBitVector set) static OffsetBitVectorandNot(OffsetBitVector b1, OffsetBitVector b2) Return a new bit string as the AND of two others.final voidclear(int bit) Clears a bit.final voidcopyBits(OffsetBitVector set) Copies the values of the bits in the specified set into this set.booleanCompares this object against the specified object.final booleanget(int bit) Gets a bit.intfinal booleanCheck if the intersection of the two sets is emptybooleanisSubset(OffsetBitVector other) final intlength()Calculates and returns the set's size in bits.intmax()intnextSetBit(int start) final voidnot()Logically NOT this bit stringstatic OffsetBitVectorReturn the NOT of a bit stringfinal voidor(OffsetBitVector set) Logically ORs this bit set with the specified set of bits.static OffsetBitVectoror(OffsetBitVector b1, OffsetBitVector b2) Return a new FixedSizeBitVector as the OR of two othersfinal booleansameBits(OffsetBitVector set) Compares this object against the specified object.final voidset(int bit) Sets a bit.final voidsetAll()Sets all bits.toString()final voidxor(OffsetBitVector set) Logically XORs this bit set with the specified set of bits.Methods inherited from class com.ibm.wala.util.intset.BitVectorBase
clearAll, clone, contains, copyBits, hashCode, isZero, populationCount, subscript
-
Constructor Details
-
OffsetBitVector
public OffsetBitVector() -
OffsetBitVector
public OffsetBitVector(int offset, int nbits) Creates an empty string with the specified size.- Parameters:
nbits- the size of the string
-
OffsetBitVector
Creates a copy of a Bit String- Parameters:
s- the string to copy- Throws:
IllegalArgumentException- if s is null
-
-
Method Details
-
toString
- Overrides:
toStringin classBitVectorBase<OffsetBitVector>
-
getOffset
public int getOffset() -
set
public final void set(int bit) Sets a bit.- Specified by:
setin classBitVectorBase<OffsetBitVector>- Parameters:
bit- the bit to be set
-
clear
public final void clear(int bit) Clears a bit.- Specified by:
clearin classBitVectorBase<OffsetBitVector>- Parameters:
bit- the bit to be cleared
-
get
public final boolean get(int bit) Gets a bit.- Specified by:
getin classBitVectorBase<OffsetBitVector>- Parameters:
bit- the bit to be gotten
-
nextSetBit
public int nextSetBit(int start) - Overrides:
nextSetBitin classBitVectorBase<OffsetBitVector>- Returns:
- min j >= start s.t get(j)
-
not
public final void not()Logically NOT this bit string -
max
public int max()- Overrides:
maxin classBitVectorBase<OffsetBitVector>
-
length
public final int length()Calculates and returns the set's size in bits. The maximum element in the set is the size - 1st element.- Specified by:
lengthin classBitVectorBase<OffsetBitVector>
-
setAll
public final void setAll()Sets all bits. -
equals
Compares this object against the specified object. -
intersectionEmpty
Check if the intersection of the two sets is empty- Specified by:
intersectionEmptyin classBitVectorBase<OffsetBitVector>- Parameters:
set- the set to check intersection with- Throws:
IllegalArgumentException- if set == null
-
sameBits
Compares this object against the specified object.- Specified by:
sameBitsin classBitVectorBase<OffsetBitVector>- Parameters:
set- the object to compare with- Returns:
- true if the objects are the same; false otherwise.
- Throws:
IllegalArgumentException- if set == null
-
isSubset
- Specified by:
isSubsetin classBitVectorBase<OffsetBitVector>- Throws:
IllegalArgumentException
-
copyBits
Copies the values of the bits in the specified set into this set.- Parameters:
set- the bit set to copy the bits from- Throws:
IllegalArgumentException- if set is null
-
and
Logically ANDs this bit set with the specified set of bits.- Specified by:
andin classBitVectorBase<OffsetBitVector>- Parameters:
set- the bit set to be ANDed with- Throws:
IllegalArgumentException- if set == null
-
or
Logically ORs this bit set with the specified set of bits.- Specified by:
orin classBitVectorBase<OffsetBitVector>- Parameters:
set- the bit set to be ORed with- Throws:
IllegalArgumentException- if set == null
-
xor
Logically XORs this bit set with the specified set of bits.- Specified by:
xorin classBitVectorBase<OffsetBitVector>- Parameters:
set- the bit set to be XORed with- Throws:
IllegalArgumentException- if set == null
-
andNot
- Specified by:
andNotin classBitVectorBase<OffsetBitVector>- Throws:
IllegalArgumentException
-
not
Return the NOT of a bit string -
and
public static OffsetBitVector and(OffsetBitVector b1, OffsetBitVector b2) throws IllegalArgumentException Return a new bit string as the AND of two others.- Throws:
IllegalArgumentException- if b2 == null
-
or
public static OffsetBitVector or(OffsetBitVector b1, OffsetBitVector b2) throws IllegalArgumentException Return a new FixedSizeBitVector as the OR of two others- Throws:
IllegalArgumentException- if b2 == null
-
andNot
Return a new bit string as the AND of two others.
-