Package com.ibm.wala.util.intset
Class OffsetBitVector
- java.lang.Object
-
- com.ibm.wala.util.intset.BitVectorBase<OffsetBitVector>
-
- com.ibm.wala.util.intset.OffsetBitVector
-
- All Implemented Interfaces:
Serializable,Cloneable
public final class OffsetBitVector extends BitVectorBase<OffsetBitVector>
- See Also:
- Serialized Form
-
-
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
Constructors Constructor Description OffsetBitVector()OffsetBitVector(int offset, int nbits)Creates an empty string with the specified size.OffsetBitVector(OffsetBitVector s)Creates a copy of a Bit String
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.voidclear(int bit)Clears a bit.voidcopyBits(OffsetBitVector set)Copies the values of the bits in the specified set into this set.booleanequals(Object obj)Compares this object against the specified object.booleanget(int bit)Gets a bit.intgetOffset()booleanintersectionEmpty(OffsetBitVector set)Check if the intersection of the two sets is emptybooleanisSubset(OffsetBitVector other)intlength()Calculates and returns the set's size in bits.intmax()intnextSetBit(int start)voidnot()Logically NOT this bit stringstatic OffsetBitVectornot(OffsetBitVector s)Return the NOT of a bit stringvoidor(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 othersbooleansameBits(OffsetBitVector set)Compares this object against the specified object.voidset(int bit)Sets a bit.voidsetAll()Sets all bits.StringtoString()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 Detail
-
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
public OffsetBitVector(OffsetBitVector s)
Creates a copy of a Bit String- Parameters:
s- the string to copy- Throws:
IllegalArgumentException- if s is null
-
-
Method Detail
-
toString
public String toString()
- Overrides:
toStringin classBitVectorBase<OffsetBitVector>
-
getOffset
public int getOffset()
-
set
public void set(int bit)
Sets a bit.- Specified by:
setin classBitVectorBase<OffsetBitVector>- Parameters:
bit- the bit to be set
-
clear
public void clear(int bit)
Clears a bit.- Specified by:
clearin classBitVectorBase<OffsetBitVector>- Parameters:
bit- the bit to be cleared
-
get
public 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 void not()
Logically NOT this bit string
-
max
public int max()
- Overrides:
maxin classBitVectorBase<OffsetBitVector>
-
length
public 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 void setAll()
Sets all bits.
-
equals
public boolean equals(Object obj)
Compares this object against the specified object.
-
intersectionEmpty
public boolean intersectionEmpty(OffsetBitVector set) throws IllegalArgumentException
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
public boolean sameBits(OffsetBitVector set) throws IllegalArgumentException
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
public boolean isSubset(OffsetBitVector other) throws IllegalArgumentException
- Specified by:
isSubsetin classBitVectorBase<OffsetBitVector>- Throws:
IllegalArgumentException
-
copyBits
public void copyBits(OffsetBitVector set)
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
public void and(OffsetBitVector set) throws IllegalArgumentException
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
public void or(OffsetBitVector set) throws IllegalArgumentException
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
public void xor(OffsetBitVector set) throws IllegalArgumentException
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
public void andNot(OffsetBitVector set) throws IllegalArgumentException
- Specified by:
andNotin classBitVectorBase<OffsetBitVector>- Throws:
IllegalArgumentException
-
not
public static OffsetBitVector not(OffsetBitVector s)
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
public static OffsetBitVector andNot(OffsetBitVector b1, OffsetBitVector b2)
Return a new bit string as the AND of two others.
-
-