Class BitCounter

  • All Implemented Interfaces:
    BitmapStorage

    public final class BitCounter
    extends Object
    implements BitmapStorage
    BitCounter is a fake bitset data structure. Instead of storing the actual data, it only records the number of set bits.
    Since:
    0.4.0
    Author:
    David McIntosh
    • Constructor Detail

      • BitCounter

        public BitCounter()
    • Method Detail

      • addWord

        public void addWord​(long newData)
        Virtually add words directly to the bitmap
        Specified by:
        addWord in interface BitmapStorage
        Parameters:
        newData - the word
      • addLiteralWord

        public void addLiteralWord​(long newData)
        Virtually add literal words directly to the bitmap
        Specified by:
        addLiteralWord in interface BitmapStorage
        Parameters:
        newData - the word
      • addStreamOfLiteralWords

        public void addStreamOfLiteralWords​(com.googlecode.javaewah.Buffer buffer,
                                            int start,
                                            int number)
        virtually add several literal words.
        Specified by:
        addStreamOfLiteralWords in interface BitmapStorage
        Parameters:
        buffer - the buffer wrapping the literal words
        start - the starting point in the array
        number - the number of literal words to add
      • addStreamOfEmptyWords

        public void addStreamOfEmptyWords​(boolean v,
                                          long number)
        virtually add many zeroes or ones.
        Specified by:
        addStreamOfEmptyWords in interface BitmapStorage
        Parameters:
        v - zeros or ones
        number - how many to words add
      • addStreamOfNegatedLiteralWords

        public void addStreamOfNegatedLiteralWords​(com.googlecode.javaewah.Buffer buffer,
                                                   int start,
                                                   int number)
        virtually add several negated literal words.
        Specified by:
        addStreamOfNegatedLiteralWords in interface BitmapStorage
        Parameters:
        buffer - the buffer wrapping the literal words
        start - the starting point in the array
        number - the number of literal words to add
      • getCount

        public int getCount()
        As you act on this class, it records the number of set (true) bits.
        Returns:
        number of set bits
      • setSizeInBitsWithinLastWord

        public void setSizeInBitsWithinLastWord​(int bits)
        should directly set the sizeInBits field, but is effectively ignored in this class.
        Specified by:
        setSizeInBitsWithinLastWord in interface BitmapStorage
        Parameters:
        bits - number of bits