public final class MappeableBitmapContainer extends MappeableContainer implements Cloneable
| Modifier and Type | Field and Description |
|---|---|
protected static int |
MAX_CAPACITY |
static boolean |
USE_BRANCHLESS |
| Constructor and Description |
|---|
MappeableBitmapContainer()
Create a bitmap container with all bits set to false
|
MappeableBitmapContainer(int firstOfRun,
int lastOfRun)
Create a bitmap container with a run of ones from firstOfRun to
lastOfRun, inclusive caller must ensure that the range isn't so small
that an ArrayContainer should have been created instead
|
MappeableBitmapContainer(LongBuffer array,
int initCardinality)
Construct a new BitmapContainer backed by the provided LongBuffer.
|
| Modifier and Type | Method and Description |
|---|---|
MappeableContainer |
add(int begin,
int end)
Return a new container with all shorts in [begin,end)
added using an unsigned interpretation.
|
MappeableContainer |
add(short i)
Add a short to the container.
|
MappeableArrayContainer |
and(MappeableArrayContainer value2)
Computes the bitwise AND of this container with another (intersection).
|
MappeableContainer |
and(MappeableBitmapContainer value2)
Computes the bitwise AND of this container with another (intersection).
|
MappeableContainer |
and(MappeableRunContainer value2)
Computes the bitwise AND of this container with another (intersection).
|
MappeableContainer |
andNot(MappeableArrayContainer value2)
Computes the bitwise ANDNOT of this container with another (difference).
|
MappeableContainer |
andNot(MappeableBitmapContainer value2)
Computes the bitwise ANDNOT of this container with another (difference).
|
MappeableContainer |
andNot(MappeableRunContainer value2)
Computes the bitwise ANDNOT of this container with another (difference).
|
void |
clear()
Empties the container
|
MappeableBitmapContainer |
clone() |
protected void |
computeCardinality()
Recomputes the cardinality of the bitmap.
|
boolean |
contains(short i)
Checks whether the contain contains the provided value
|
boolean |
equals(Object o) |
protected void |
fillArray(short[] array)
Fill the array with set bits
|
void |
fillLeastSignificant16bits(int[] x,
int i,
int mask)
Fill the least significant 16 bits of the integer array, starting at
index index, with the short values from this container.
|
MappeableContainer |
flip(short i)
Add a short to the container if it is not present, otherwise remove it.
|
protected int |
getArraySizeInBytes()
Size of the underlying array
|
protected static int |
getArraySizeInBytes(int unusedCardinality) |
int |
getCardinality()
Computes the distinct number of short values in the container.
|
ShortIterator |
getReverseShortIterator()
Iterator to visit the short values in the container in descending order.
|
ShortIterator |
getShortIterator()
Iterator to visit the short values in the container in ascending order.
|
int |
getSizeInBytes()
Computes an estimate of the memory usage of this container.
|
int |
hashCode() |
MappeableContainer |
iadd(int begin,
int end)
Add all shorts in [begin,end) using an unsigned interpretation.
|
MappeableContainer |
iand(MappeableArrayContainer b2)
Computes the in-place bitwise AND of this container with another
(intersection).
|
MappeableContainer |
iand(MappeableBitmapContainer b2)
Computes the in-place bitwise AND of this container with another
(intersection).
|
MappeableContainer |
iand(MappeableRunContainer x)
Computes the in-place bitwise AND of this container with another
(intersection).
|
MappeableContainer |
iandNot(MappeableArrayContainer b2)
Computes the in-place bitwise ANDNOT of this container with another
(difference).
|
MappeableContainer |
iandNot(MappeableBitmapContainer b2)
Computes the in-place bitwise ANDNOT of this container with another
(difference).
|
MappeableContainer |
iandNot(MappeableRunContainer x)
Computes the in-place bitwise ANDNOT of this container with another
(difference).
|
protected MappeableContainer |
ilazyor(MappeableArrayContainer value2) |
protected MappeableContainer |
ilazyor(MappeableBitmapContainer x) |
protected MappeableContainer |
ilazyor(MappeableRunContainer x) |
MappeableContainer |
inot(int firstOfRange,
int lastOfRange)
Computes the in-place bitwise NOT of this container (complement).
|
boolean |
intersects(MappeableArrayContainer value2)
Returns true if the current container intersects the other container.
|
boolean |
intersects(MappeableBitmapContainer value2)
Returns true if the current container intersects the other container.
|
boolean |
intersects(MappeableRunContainer x)
Returns true if the current container intersects the other container.
|
MappeableBitmapContainer |
ior(MappeableArrayContainer value2)
Computes the in-place bitwise OR of this container with another (union).
|
MappeableContainer |
ior(MappeableBitmapContainer b2)
Computes the in-place bitwise OR of this container with another (union).
|
MappeableContainer |
ior(MappeableRunContainer x)
Computes the in-place bitwise OR of this container with another (union).
|
MappeableContainer |
iremove(int begin,
int end)
Remove shorts in [begin,end) using an unsigned interpretation.
|
protected boolean |
isArrayBacked() |
Iterator<Short> |
iterator() |
MappeableContainer |
ixor(MappeableArrayContainer value2)
Computes the in-place bitwise XOR of this container with another (symmetric difference).
|
MappeableContainer |
ixor(MappeableBitmapContainer b2)
Computes the in-place bitwise XOR of this container with another (symmetric difference).
|
MappeableContainer |
ixor(MappeableRunContainer x)
Computes the in-place bitwise XOR of this container with another (symmetric difference).
|
protected MappeableContainer |
lazyor(MappeableArrayContainer value2) |
protected MappeableContainer |
lazyor(MappeableBitmapContainer x) |
protected MappeableContainer |
lazyor(MappeableRunContainer x) |
MappeableContainer |
limit(int maxcardinality)
Create a new MappeableContainer containing at most maxcardinality integers.
|
protected void |
loadData(MappeableArrayContainer arrayContainer) |
int |
nextSetBit(int i)
Find the index of the next set bit greater or equal to i, returns -1 if
none found.
|
short |
nextUnsetBit(int i)
Find the index of the next unset bit greater or equal to i, returns -1 if
none found.
|
MappeableContainer |
not(int firstOfRange,
int lastOfRange)
Computes the bitwise NOT of this container (complement).
|
int |
numberOfRunsAdjustment()
Computes the number of runs
|
int |
numberOfRunsLowerBound(int mustNotExceed)
Counts how many runs there is in the bitmap, up to a maximum
|
MappeableBitmapContainer |
or(MappeableArrayContainer value2)
Computes the bitwise OR of this container with another (union).
|
MappeableContainer |
or(MappeableBitmapContainer value2)
Computes the bitwise OR of this container with another (union).
|
MappeableContainer |
or(MappeableRunContainer value2)
Computes the bitwise OR of this container with another (union).
|
int |
prevSetBit(int i)
Find the index of the previous set bit less than or equal to i, returns -1
if none found.
|
int |
rank(short lowbits)
Rank returns the number of integers that are smaller or equal to x (Rank(infinity) would be GetCardinality()).
|
void |
readExternal(ObjectInput in) |
MappeableContainer |
remove(int begin,
int end)
Return a new container with all shorts in [begin,end)
remove using an unsigned interpretation.
|
MappeableContainer |
remove(short i)
Remove the short from this container.
|
MappeableContainer |
repairAfterLazy()
The output of a lazyOR or lazyIOR might be an invalid container, this
should be called on it.
|
MappeableContainer |
runOptimize()
Convert to MappeableRunContainers, when the result is smaller.
|
short |
select(int j)
Return the jth value
|
int |
serializedSizeInBytes()
Report the number of bytes required to serialize this container.
|
protected static int |
serializedSizeInBytes(int unusedCardinality) |
MappeableArrayContainer |
toArrayContainer()
Copies the data to an array container
|
String |
toString() |
void |
trim()
If possible, recover wasted memory.
|
protected void |
writeArray(DataOutput out)
Write just the underlying array.
|
void |
writeExternal(ObjectOutput out) |
MappeableContainer |
xor(MappeableArrayContainer value2)
Computes the bitwise XOR of this container with another (symmetric difference).
|
MappeableContainer |
xor(MappeableBitmapContainer value2)
Computes the bitwise XOR of this container with another (symmetric difference).
|
MappeableContainer |
xor(MappeableRunContainer value2)
Computes the bitwise XOR of this container with another (symmetric difference).
|
and, andNot, getContainerName, iand, iandNot, intersects, ior, ixor, lazyIOR, lazyOR, or, rangeOfOnes, xorfinalize, getClass, notify, notifyAll, wait, wait, waitforEach, spliteratorprotected static final int MAX_CAPACITY
public static final boolean USE_BRANCHLESS
public MappeableBitmapContainer()
public MappeableBitmapContainer(int firstOfRun,
int lastOfRun)
firstOfRun - first indexlastOfRun - last index (range is exclusive)public MappeableBitmapContainer(LongBuffer array, int initCardinality)
array - LongBuffer where the data is storedinitCardinality - cardinality (number of values stored)public int numberOfRunsAdjustment()
public int numberOfRunsLowerBound(int mustNotExceed)
mustNotExceed - maximum of runs beyond which counting is pointlesspublic MappeableContainer runOptimize()
MappeableContainerrunOptimize in class MappeableContainerpublic MappeableContainer add(short i)
MappeableContaineradd in class MappeableContaineri - short to be addedpublic MappeableArrayContainer and(MappeableArrayContainer value2)
MappeableContainerand in class MappeableContainervalue2 - other containerpublic MappeableContainer and(MappeableBitmapContainer value2)
MappeableContainerand in class MappeableContainervalue2 - other containerpublic MappeableContainer and(MappeableRunContainer value2)
MappeableContainerand in class MappeableContainervalue2 - other containerpublic MappeableContainer andNot(MappeableArrayContainer value2)
MappeableContainerandNot in class MappeableContainervalue2 - other containerpublic MappeableContainer andNot(MappeableBitmapContainer value2)
MappeableContainerandNot in class MappeableContainervalue2 - other containerpublic MappeableContainer andNot(MappeableRunContainer value2)
MappeableContainerandNot in class MappeableContainervalue2 - other containerpublic void clear()
MappeableContainerclear in class MappeableContainerpublic MappeableBitmapContainer clone()
clone in class MappeableContainerpublic boolean contains(short i)
MappeableContainercontains in class MappeableContaineri - value to checkprotected void fillArray(short[] array)
array - container (should be sufficiently large)public void fillLeastSignificant16bits(int[] x,
int i,
int mask)
MappeableContainerfillLeastSignificant16bits in class MappeableContainerx - provided arrayi - starting indexmask - indicates most significant bitsprotected int getArraySizeInBytes()
MappeableContainergetArraySizeInBytes in class MappeableContainerprotected static int getArraySizeInBytes(int unusedCardinality)
public int getCardinality()
MappeableContainergetCardinality in class MappeableContainerpublic ShortIterator getShortIterator()
MappeableContainergetShortIterator in class MappeableContainerpublic ShortIterator getReverseShortIterator()
MappeableContainergetReverseShortIterator in class MappeableContainerpublic int getSizeInBytes()
MappeableContainergetSizeInBytes in class MappeableContainerpublic MappeableContainer iand(MappeableArrayContainer b2)
MappeableContaineriand in class MappeableContainerb2 - other containerpublic MappeableContainer iand(MappeableBitmapContainer b2)
MappeableContaineriand in class MappeableContainerb2 - other containerpublic MappeableContainer iand(MappeableRunContainer x)
MappeableContaineriand in class MappeableContainerx - other containerpublic MappeableContainer iandNot(MappeableArrayContainer b2)
MappeableContaineriandNot in class MappeableContainerb2 - other containerpublic MappeableContainer iandNot(MappeableBitmapContainer b2)
MappeableContaineriandNot in class MappeableContainerb2 - other containerpublic MappeableContainer iandNot(MappeableRunContainer x)
MappeableContaineriandNot in class MappeableContainerx - other containerpublic MappeableContainer inot(int firstOfRange, int lastOfRange)
MappeableContainerinot in class MappeableContainerfirstOfRange - beginning of range (inclusive); 0 is beginning of this
container.lastOfRange - ending of range (exclusive)public MappeableBitmapContainer ior(MappeableArrayContainer value2)
MappeableContainerior in class MappeableContainervalue2 - other containerpublic MappeableContainer ior(MappeableBitmapContainer b2)
MappeableContainerior in class MappeableContainerb2 - other containerprotected boolean isArrayBacked()
isArrayBacked in class MappeableContainerpublic MappeableContainer ior(MappeableRunContainer x)
MappeableContainerior in class MappeableContainerx - other containerpublic MappeableContainer ixor(MappeableArrayContainer value2)
MappeableContainerixor in class MappeableContainervalue2 - other containerpublic MappeableContainer ixor(MappeableBitmapContainer b2)
MappeableContainerixor in class MappeableContainerb2 - other containerpublic MappeableContainer ixor(MappeableRunContainer x)
MappeableContainerixor in class MappeableContainerx - other containerprotected void loadData(MappeableArrayContainer arrayContainer)
public int nextSetBit(int i)
i - starting indexpublic int prevSetBit(int i)
i - starting indexpublic short nextUnsetBit(int i)
i - starting indexpublic MappeableContainer not(int firstOfRange, int lastOfRange)
MappeableContainernot in class MappeableContainerfirstOfRange - beginning of range (inclusive); 0 is beginning of this
container.lastOfRange - ending of range (exclusive)public MappeableBitmapContainer or(MappeableArrayContainer value2)
MappeableContaineror in class MappeableContainervalue2 - other containerpublic MappeableContainer or(MappeableBitmapContainer value2)
MappeableContaineror in class MappeableContainervalue2 - other containerpublic MappeableContainer or(MappeableRunContainer value2)
MappeableContaineror in class MappeableContainervalue2 - other containerpublic void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal in interface ExternalizableIOExceptionClassNotFoundExceptionpublic MappeableContainer remove(short i)
MappeableContainerremove in class MappeableContaineri - to be removedpublic int serializedSizeInBytes()
MappeableContainerserializedSizeInBytes in class MappeableContainerprotected static int serializedSizeInBytes(int unusedCardinality)
public MappeableArrayContainer toArrayContainer()
public void trim()
MappeableContainertrim in class MappeableContainerprotected void writeArray(DataOutput out) throws IOException
MappeableContainerwriteArray in class MappeableContainerout - output streamIOException - in case of failurepublic void writeExternal(ObjectOutput out) throws IOException
writeExternal in interface ExternalizableIOExceptionpublic MappeableContainer xor(MappeableArrayContainer value2)
MappeableContainerxor in class MappeableContainervalue2 - other containerpublic MappeableContainer xor(MappeableBitmapContainer value2)
MappeableContainerxor in class MappeableContainervalue2 - other containerpublic MappeableContainer xor(MappeableRunContainer value2)
MappeableContainerxor in class MappeableContainervalue2 - other parameterprotected MappeableContainer ilazyor(MappeableArrayContainer value2)
protected MappeableContainer ilazyor(MappeableBitmapContainer x)
protected MappeableContainer lazyor(MappeableArrayContainer value2)
protected MappeableContainer lazyor(MappeableBitmapContainer x)
protected MappeableContainer lazyor(MappeableRunContainer x)
protected MappeableContainer ilazyor(MappeableRunContainer x)
protected void computeCardinality()
public int rank(short lowbits)
MappeableContainerrank in class MappeableContainerlowbits - upper limitpublic short select(int j)
MappeableContainerselect in class MappeableContainerj - index of the valuepublic MappeableContainer limit(int maxcardinality)
MappeableContainerlimit in class MappeableContainermaxcardinality - maximal cardinalitypublic MappeableContainer flip(short i)
MappeableContainerflip in class MappeableContaineri - short to be addedpublic MappeableContainer iadd(int begin, int end)
MappeableContaineriadd in class MappeableContainerbegin - start of range (inclusive)end - end of range (exclusive)public MappeableContainer iremove(int begin, int end)
MappeableContaineriremove in class MappeableContainerbegin - start of range (inclusive)end - end of range (exclusive)public MappeableContainer add(int begin, int end)
MappeableContaineradd in class MappeableContainerbegin - start of range (inclusive)end - end of range (exclusive)public MappeableContainer remove(int begin, int end)
MappeableContainerremove in class MappeableContainerbegin - start of range (inclusive)end - end of range (exclusive)public MappeableContainer repairAfterLazy()
MappeableContainerrepairAfterLazy in class MappeableContainerpublic boolean intersects(MappeableArrayContainer value2)
MappeableContainerintersects in class MappeableContainervalue2 - other containerpublic boolean intersects(MappeableBitmapContainer value2)
MappeableContainerintersects in class MappeableContainervalue2 - other containerpublic boolean intersects(MappeableRunContainer x)
MappeableContainerintersects in class MappeableContainerx - other containerCopyright © 2015. All Rights Reserved.