Package com.googlecode.javaewah32
Class BitCounter32
- java.lang.Object
-
- com.googlecode.javaewah32.BitCounter32
-
- All Implemented Interfaces:
BitmapStorage32
public final class BitCounter32 extends Object implements BitmapStorage32
BitCounter is a fake bitset data structure. Instead of storing the actual data, it only records the number of set bits.- Since:
- 0.5.0
- Author:
- Daniel Lemire and David McIntosh
-
-
Constructor Summary
Constructors Constructor Description BitCounter32()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddLiteralWord(int newData)Virtually add literal words directly to the bitmapvoidaddStreamOfEmptyWords(boolean v, int number)virtually add many zeroes or ones.voidaddStreamOfLiteralWords(com.googlecode.javaewah32.Buffer32 buffer, int start, int number)virtually add several literal words.voidaddStreamOfNegatedLiteralWords(com.googlecode.javaewah32.Buffer32 buffer, int start, int number)virtually add several negated literal words.voidaddWord(int newData)Virtually add words directly to the bitmapvoidclear()Empties the container.intgetCount()As you act on this class, it records the number of set (true) bits.voidsetSizeInBitsWithinLastWord(int bits)Sets the size in bits of the bitmap as an *uncompressed* bitmap.
-
-
-
Method Detail
-
addWord
public void addWord(int newData)
Virtually add words directly to the bitmap- Specified by:
addWordin interfaceBitmapStorage32- Parameters:
newData- the word
-
addLiteralWord
public void addLiteralWord(int newData)
Virtually add literal words directly to the bitmap- Specified by:
addLiteralWordin interfaceBitmapStorage32- Parameters:
newData- the word
-
addStreamOfLiteralWords
public void addStreamOfLiteralWords(com.googlecode.javaewah32.Buffer32 buffer, int start, int number)virtually add several literal words.- Specified by:
addStreamOfLiteralWordsin interfaceBitmapStorage32- Parameters:
buffer- the buffer wrapping the literal wordsstart- the starting point in the arraynumber- the number of literal words to add
-
addStreamOfEmptyWords
public void addStreamOfEmptyWords(boolean v, int number)virtually add many zeroes or ones.- Specified by:
addStreamOfEmptyWordsin interfaceBitmapStorage32- Parameters:
v- zeros or onesnumber- how many to words add
-
addStreamOfNegatedLiteralWords
public void addStreamOfNegatedLiteralWords(com.googlecode.javaewah32.Buffer32 buffer, int start, int number)virtually add several negated literal words.- Specified by:
addStreamOfNegatedLiteralWordsin interfaceBitmapStorage32- Parameters:
buffer- the buffer wrapping the literal wordsstart- the starting point in the arraynumber- the number of literal words to add
-
clear
public void clear()
Description copied from interface:BitmapStorage32Empties the container.- Specified by:
clearin interfaceBitmapStorage32
-
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)
Description copied from interface:BitmapStorage32Sets the size in bits of the bitmap as an *uncompressed* bitmap. Normally, this is used to reduce the size of the bitmaps within the scope of the last word. Specifically, this means that (sizeInBits()+31)/32 must be equal to (size+31)/32. If needed, the bitmap can be further padded with zeroes.- Specified by:
setSizeInBitsWithinLastWordin interfaceBitmapStorage32- Parameters:
bits- the size in bits
-
-