Package org.roaringbitmap.buffer
Class BufferFastAggregation
- java.lang.Object
-
- org.roaringbitmap.buffer.BufferFastAggregation
-
public final class BufferFastAggregation extends java.lang.ObjectFast algorithms to aggregate many bitmaps.
-
-
Method Summary
Modifier and Type Method Description static MutableRoaringBitmapand(java.util.Iterator bitmaps)Compute the AND aggregate.static MutableRoaringBitmapand(ImmutableRoaringBitmap... bitmaps)Compute the AND aggregate.static MutableRoaringBitmapand(MutableRoaringBitmap... bitmaps)Compute the AND aggregate.static java.util.Iterator<ImmutableRoaringBitmap>convertToImmutable(java.util.Iterator<MutableRoaringBitmap> i)Convenience method converting one type of iterator into another, to avoid unnecessary warnings.static MutableRoaringBitmaphorizontal_or(java.util.Iterator bitmaps)Deprecated.static MutableRoaringBitmaphorizontal_or(ImmutableRoaringBitmap... bitmaps)Minimizes memory usage while computing the or aggregate on a moderate number of bitmaps.static MutableRoaringBitmaphorizontal_or(MutableRoaringBitmap... bitmaps)Minimizes memory usage while computing the or aggregate on a moderate number of bitmaps.static MutableRoaringBitmaphorizontal_xor(ImmutableRoaringBitmap... bitmaps)Minimizes memory usage while computing the xor aggregate on a moderate number of bitmaps.static MutableRoaringBitmaphorizontal_xor(MutableRoaringBitmap... bitmaps)Minimizes memory usage while computing the xor aggregate on a moderate number of bitmaps.static MutableRoaringBitmapnaive_and(java.util.Iterator bitmaps)Compute overall AND between bitmaps two-by-two.static MutableRoaringBitmapnaive_and(ImmutableRoaringBitmap... bitmaps)Compute overall AND between bitmaps two-by-two.static MutableRoaringBitmapnaive_and(MutableRoaringBitmap... bitmaps)Compute overall AND between bitmaps two-by-two.static MutableRoaringBitmapnaive_or(java.util.Iterator bitmaps)Compute overall OR between bitmaps two-by-two.static MutableRoaringBitmapnaive_or(ImmutableRoaringBitmap... bitmaps)Compute overall OR between bitmaps two-by-two.static MutableRoaringBitmapnaive_or(MutableRoaringBitmap... bitmaps)Compute overall OR between bitmaps two-by-two.static MutableRoaringBitmapnaive_xor(java.util.Iterator bitmaps)Compute overall XOR between bitmaps two-by-two.static MutableRoaringBitmapnaive_xor(ImmutableRoaringBitmap... bitmaps)Compute overall XOR between bitmaps two-by-two.static MutableRoaringBitmapnaive_xor(MutableRoaringBitmap... bitmaps)Compute overall XOR between bitmaps two-by-two.static MutableRoaringBitmapor(java.util.Iterator bitmaps)Compute overall OR between bitmaps.static MutableRoaringBitmapor(ImmutableRoaringBitmap... bitmaps)Compute overall OR between bitmaps.static MutableRoaringBitmapor(MutableRoaringBitmap... bitmaps)Compute overall OR between bitmaps.static MutableRoaringBitmappriorityqueue_or(java.util.Iterator bitmaps)Uses a priority queue to compute the or aggregate.static MutableRoaringBitmappriorityqueue_or(ImmutableRoaringBitmap... bitmaps)Uses a priority queue to compute the or aggregate.static MutableRoaringBitmappriorityqueue_xor(ImmutableRoaringBitmap... bitmaps)Uses a priority queue to compute the xor aggregate.static MutableRoaringBitmapxor(java.util.Iterator bitmaps)Compute overall XOR between bitmaps.static MutableRoaringBitmapxor(ImmutableRoaringBitmap... bitmaps)Compute overall XOR between bitmaps.static MutableRoaringBitmapxor(MutableRoaringBitmap... bitmaps)Compute overall XOR between bitmaps.
-
-
-
Method Detail
-
and
public static MutableRoaringBitmap and(ImmutableRoaringBitmap... bitmaps)
Compute the AND aggregate. In practice, calls {#link naive_and}- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
and
public static MutableRoaringBitmap and(java.util.Iterator bitmaps)
Compute the AND aggregate. In practice, calls {#link naive_and}- Parameters:
bitmaps- input bitmaps (ImmutableRoaringBitmap or MutableRoaringBitmap)- Returns:
- aggregated bitmap
-
and
public static MutableRoaringBitmap and(MutableRoaringBitmap... bitmaps)
Compute the AND aggregate. In practice, calls {#link naive_and}- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
convertToImmutable
public static java.util.Iterator<ImmutableRoaringBitmap> convertToImmutable(java.util.Iterator<MutableRoaringBitmap> i)
Convenience method converting one type of iterator into another, to avoid unnecessary warnings.- Parameters:
i- input bitmaps- Returns:
- an iterator over the provided iterator, with a different type
-
horizontal_or
public static MutableRoaringBitmap horizontal_or(ImmutableRoaringBitmap... bitmaps)
Minimizes memory usage while computing the or aggregate on a moderate number of bitmaps. This function runs in linearithmic (O(n log n)) time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
- See Also:
or(ImmutableRoaringBitmap...)
-
horizontal_or
@Deprecated public static MutableRoaringBitmap horizontal_or(java.util.Iterator bitmaps)
Deprecated.Calls naive_or.- Parameters:
bitmaps- input bitmaps (ImmutableRoaringBitmap or MutableRoaringBitmap)- Returns:
- aggregated bitmap
-
horizontal_or
public static MutableRoaringBitmap horizontal_or(MutableRoaringBitmap... bitmaps)
Minimizes memory usage while computing the or aggregate on a moderate number of bitmaps. This function runs in linearithmic (O(n log n)) time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
- See Also:
or(ImmutableRoaringBitmap...)
-
horizontal_xor
public static MutableRoaringBitmap horizontal_xor(ImmutableRoaringBitmap... bitmaps)
Minimizes memory usage while computing the xor aggregate on a moderate number of bitmaps. This function runs in linearithmic (O(n log n)) time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
- See Also:
xor(ImmutableRoaringBitmap...)
-
horizontal_xor
public static MutableRoaringBitmap horizontal_xor(MutableRoaringBitmap... bitmaps)
Minimizes memory usage while computing the xor aggregate on a moderate number of bitmaps. This function runs in linearithmic (O(n log n)) time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
- See Also:
xor(ImmutableRoaringBitmap...)
-
naive_and
public static MutableRoaringBitmap naive_and(ImmutableRoaringBitmap... bitmaps)
Compute overall AND between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
naive_and
public static MutableRoaringBitmap naive_and(java.util.Iterator bitmaps)
Compute overall AND between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps (ImmutableRoaringBitmap or MutableRoaringBitmap)- Returns:
- aggregated bitmap
-
naive_and
public static MutableRoaringBitmap naive_and(MutableRoaringBitmap... bitmaps)
Compute overall AND between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
naive_or
public static MutableRoaringBitmap naive_or(ImmutableRoaringBitmap... bitmaps)
Compute overall OR between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
naive_or
public static MutableRoaringBitmap naive_or(java.util.Iterator bitmaps)
Compute overall OR between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps (ImmutableRoaringBitmap or MutableRoaringBitmap)- Returns:
- aggregated bitmap
-
naive_or
public static MutableRoaringBitmap naive_or(MutableRoaringBitmap... bitmaps)
Compute overall OR between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
naive_xor
public static MutableRoaringBitmap naive_xor(ImmutableRoaringBitmap... bitmaps)
Compute overall XOR between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
naive_xor
public static MutableRoaringBitmap naive_xor(java.util.Iterator bitmaps)
Compute overall XOR between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps (ImmutableRoaringBitmap or MutableRoaringBitmap)- Returns:
- aggregated bitmap
-
naive_xor
public static MutableRoaringBitmap naive_xor(MutableRoaringBitmap... bitmaps)
Compute overall XOR between bitmaps two-by-two. This function runs in linear time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
or
public static MutableRoaringBitmap or(ImmutableRoaringBitmap... bitmaps)
Compute overall OR between bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
or
public static MutableRoaringBitmap or(java.util.Iterator bitmaps)
Compute overall OR between bitmaps.- Parameters:
bitmaps- input bitmaps (ImmutableRoaringBitmap or MutableRoaringBitmap)- Returns:
- aggregated bitmap
-
or
public static MutableRoaringBitmap or(MutableRoaringBitmap... bitmaps)
Compute overall OR between bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
priorityqueue_or
public static MutableRoaringBitmap priorityqueue_or(ImmutableRoaringBitmap... bitmaps)
Uses a priority queue to compute the or aggregate. This function runs in linearithmic (O(n log n)) time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
- See Also:
horizontal_or(ImmutableRoaringBitmap...)
-
priorityqueue_or
public static MutableRoaringBitmap priorityqueue_or(java.util.Iterator bitmaps)
Uses a priority queue to compute the or aggregate. This function runs in linearithmic (O(n log n)) time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
- See Also:
horizontal_or(ImmutableRoaringBitmap...)
-
priorityqueue_xor
public static MutableRoaringBitmap priorityqueue_xor(ImmutableRoaringBitmap... bitmaps)
Uses a priority queue to compute the xor aggregate. This function runs in linearithmic (O(n log n)) time with respect to the number of bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
- See Also:
horizontal_xor(ImmutableRoaringBitmap...)
-
xor
public static MutableRoaringBitmap xor(ImmutableRoaringBitmap... bitmaps)
Compute overall XOR between bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
xor
public static MutableRoaringBitmap xor(java.util.Iterator bitmaps)
Compute overall XOR between bitmaps.- Parameters:
bitmaps- input bitmaps (ImmutableRoaringBitmap or MutableRoaringBitmap)- Returns:
- aggregated bitmap
-
xor
public static MutableRoaringBitmap xor(MutableRoaringBitmap... bitmaps)
Compute overall XOR between bitmaps.- Parameters:
bitmaps- input bitmaps- Returns:
- aggregated bitmap
-
-