Package qilin.util

Class BitVector

java.lang.Object
qilin.util.BitVector

public class BitVector extends Object
This is the Soot internal implementation of java.util.BitSet with Felix and Jerome's clever efficient iterator. It was re-implemented from scratch by Ondrej Lhotak to avoid licence issues. It was named BitVector rather than BitSet to avoid a name clash with the one in the standard Java library.
Author:
Ondrej Lhotak
  • Constructor Details

    • BitVector

      public BitVector()
    • BitVector

      public BitVector(BitVector other)
      Copy constructor
    • BitVector

      public BitVector(int numBits)
  • Method Details

    • and

      public void and(BitVector other)
    • andNot

      public void andNot(BitVector other)
    • clear

      public void clear(int bit)
    • clone

      public Object clone()
      Overrides:
      clone in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • get

      public boolean get(int bit)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • length

      public int length()
      Returns index of highest-numbered one bit.
    • copyFrom

      public void copyFrom(BitVector other)
    • or

      public void or(BitVector other)
    • cardinality

      public int cardinality()
      Count the number of ones in the bitvector.
    • intersects

      public boolean intersects(BitVector other)
      Returns true if the both the current and the specified bitvectors have at least one bit set in common.
    • xor

      public void xor(BitVector other)
    • set

      public boolean set(int bit)
    • size

      public int size()
      Returns number of bits in the underlying array.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • orAndAndNot

      public boolean orAndAndNot(BitVector orset, BitVector andset, BitVector andnotset)
      Computes this = this OR ((orset AND andset ) AND (NOT andnotset)) Returns true iff this is modified.
    • and

      public static BitVector and(BitVector set1, BitVector set2)
    • or

      public static BitVector or(BitVector set1, BitVector set2)
    • iterator

      public BitSetIterator iterator()