Package com.googlecode.javaewah
Class NonEmptyVirtualStorage
- java.lang.Object
-
- com.googlecode.javaewah.NonEmptyVirtualStorage
-
- All Implemented Interfaces:
BitmapStorage
public class NonEmptyVirtualStorage extends Object implements BitmapStorage
This is a BitmapStorage that can be used to determine quickly if the result of an operation is non-trivial... that is, whether there will be at least on set bit.- Since:
- 0.4.2
- Author:
- Daniel Lemire and Veronika Zenz
-
-
Constructor Summary
Constructors Constructor Description NonEmptyVirtualStorage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLiteralWord(long newData)
If the word to be added is non-zero, a NonEmptyException exception is thrown.void
addStreamOfEmptyWords(boolean v, long number)
If the boolean value is true and number is greater than 0, then it throws a NonEmptyException exception, otherwise, nothing happens.void
addStreamOfLiteralWords(com.googlecode.javaewah.Buffer buffer, int start, int number)
throws a NonEmptyException exception when number is greater than 0void
addStreamOfNegatedLiteralWords(com.googlecode.javaewah.Buffer buffer, int start, int number)
throws a NonEmptyException exception when number is greater than 0void
addWord(long newData)
If the word to be added is non-zero, a NonEmptyException exception is thrown.void
clear()
Empties the container.void
setSizeInBitsWithinLastWord(int bits)
Does nothing.
-
-
-
Method Detail
-
addWord
public void addWord(long newData)
If the word to be added is non-zero, a NonEmptyException exception is thrown.- Specified by:
addWord
in interfaceBitmapStorage
- Parameters:
newData
- the word- See Also:
BitmapStorage.addWord(long)
-
addLiteralWord
public void addLiteralWord(long newData)
If the word to be added is non-zero, a NonEmptyException exception is thrown.- Specified by:
addLiteralWord
in interfaceBitmapStorage
- Parameters:
newData
- the word- See Also:
BitmapStorage.addWord(long)
-
addStreamOfLiteralWords
public void addStreamOfLiteralWords(com.googlecode.javaewah.Buffer buffer, int start, int number)
throws a NonEmptyException exception when number is greater than 0- Specified by:
addStreamOfLiteralWords
in interfaceBitmapStorage
- 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, long number)
If the boolean value is true and number is greater than 0, then it throws a NonEmptyException exception, otherwise, nothing happens.- Specified by:
addStreamOfEmptyWords
in interfaceBitmapStorage
- Parameters:
v
- zeros or onesnumber
- how many to words add- See Also:
BitmapStorage.addStreamOfEmptyWords(boolean, long)
-
addStreamOfNegatedLiteralWords
public void addStreamOfNegatedLiteralWords(com.googlecode.javaewah.Buffer buffer, int start, int number)
throws a NonEmptyException exception when number is greater than 0- Specified by:
addStreamOfNegatedLiteralWords
in interfaceBitmapStorage
- 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:BitmapStorage
Empties the container.- Specified by:
clear
in interfaceBitmapStorage
-
setSizeInBitsWithinLastWord
public void setSizeInBitsWithinLastWord(int bits)
Does nothing.- Specified by:
setSizeInBitsWithinLastWord
in interfaceBitmapStorage
- Parameters:
bits
- the size in bits- See Also:
BitmapStorage.setSizeInBitsWithinLastWord(int)
-
-