Class FixedSizeBitVector

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public final class FixedSizeBitVector
    extends java.lang.Object
    implements java.lang.Cloneable, java.io.Serializable
    See Also:
    Serialized Form
    • Constructor Detail

      • FixedSizeBitVector

        public FixedSizeBitVector​(int nbits)
        Creates an empty string with the specified size.
        Parameters:
        nbits - the size of the string
      • FixedSizeBitVector

        public FixedSizeBitVector​(FixedSizeBitVector s)
        Creates a copy of a Bit String
        Parameters:
        s - the string to copy
        Throws:
        java.lang.IllegalArgumentException - if s is null
    • Method Detail

      • setAll

        public void setAll()
        Sets all bits.
      • set

        public void set​(int bit)
        Sets a bit.
        Parameters:
        bit - the bit to be set
      • clearAll

        public void clearAll()
        Clears all bits.
      • clear

        public void clear​(int bit)
        Clears a bit.
        Parameters:
        bit - the bit to be cleared
      • get

        public boolean get​(int bit)
        Gets a bit.
        Parameters:
        bit - the bit to be gotten
      • not

        public void not()
        Logically NOT this bit string
      • and

        public void and​(FixedSizeBitVector set)
        Logically ANDs this bit set with the specified set of bits.
        Parameters:
        set - the bit set to be ANDed with
      • or

        public void or​(FixedSizeBitVector set)
                throws java.lang.IllegalArgumentException
        Logically ORs this bit set with the specified set of bits.
        Parameters:
        set - the bit set to be ORed with
        Throws:
        java.lang.IllegalArgumentException - if set == null
      • xor

        public void xor​(FixedSizeBitVector set)
        Logically XORs this bit set with the specified set of bits.
        Parameters:
        set - the bit set to be XORed with
        Throws:
        java.lang.IllegalArgumentException - if set is null
      • intersectionEmpty

        public boolean intersectionEmpty​(FixedSizeBitVector other)
        Check if the intersection of the two sets is empty
        Parameters:
        other - the set to check intersection with
      • copyBits

        public void copyBits​(FixedSizeBitVector 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:
        java.lang.IllegalArgumentException - if set is null
      • hashCode

        public int hashCode()
        Gets the hashcode.
        Overrides:
        hashCode in class java.lang.Object
      • populationCount

        public int populationCount()
        How many bits are set?
      • length

        public int length()
        Calculates and returns the set's size in bits. The maximum element in the set is the size - 1st element.
      • equals

        public boolean equals​(java.lang.Object obj)
        Compares this object against the specified object.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object to compare with
        Returns:
        true if the objects are the same; false otherwise.
      • isZero

        public boolean isZero()
      • clone

        public java.lang.Object clone()
        Clones the FixedSizeBitVector.
        Overrides:
        clone in class java.lang.Object
      • toString

        public java.lang.String toString()
        Converts the FixedSizeBitVector to a String.
        Overrides:
        toString in class java.lang.Object