Package com.illumon.iris.db.v2.hashing
Interface ChunkEquals
- All Known Implementing Classes:
BooleanArrayChunkEquals
,BooleanChunkEquals
,ByteArrayChunkEquals
,ByteChunkEquals
,CharArrayChunkEquals
,CharChunkEquals
,DoubleArrayChunkEquals
,DoubleChunkEquals
,FloatArrayChunkEquals
,FloatChunkEquals
,IntArrayChunkEquals
,IntChunkEquals
,LongArrayChunkEquals
,LongChunkEquals
,ObjectArrayChunkEquals
,ObjectArrayChunkShallowEquals
,ObjectChunkEquals
,ObjectChunkIdentityEquals
,ShortArrayChunkEquals
,ShortChunkEquals
public interface ChunkEquals
-
Method Summary
Modifier and TypeMethodDescriptionvoid
andEqual
(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for subsequent pair of chunks, if the corresponding destination entry is false, do nothing.void
andEqualLhsPermuted
(IntChunk<Attributes.ChunkPositions> lhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) If destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.void
andEqualNext
(Chunk<? extends Attributes.Any> chunk, WritableBooleanChunk destination) For each pair of indices i and i + 1 in chunk; if destination[i] is false do nothing, otherwise write true to destination[i] if they are equal.void
andEqualPairs
(IntChunk<Attributes.ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Attributes.Any> valuesChunk, WritableBooleanChunk destinations) Compares valuesChunk[chunkPositionsToCheckForEquality[pp * 2]] and valuesChunk[chunkPositionsToCheckForEquality[pp * 2 + 1]] for each even/odd pair in chunkPositionsToCheckForEquality and writes the result to destinations.void
andEqualPermuted
(IntChunk<Attributes.ChunkPositions> lhsPositions, IntChunk<Attributes.ChunkPositions> rhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) If destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].void
andNotEqual
(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for subsequent pair of chunks, if the corresponding destination entry is false, do nothing.void
equal
(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if the values are equal, or false otherwisevoid
equalLhsPermuted
(IntChunk<Attributes.ChunkPositions> lhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.void
equalNext
(Chunk<? extends Attributes.Any> chunk, WritableBooleanChunk destination) For each pair of indices i and i + 1 in chunk; write true to destination[i] if they are equal, otherwise write false.void
equalPairs
(IntChunk<Attributes.ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Attributes.Any> valuesChunk, WritableBooleanChunk destinations) Compares valuesChunk[chunkPositionsToCheckForEquality[pp * 2]] and valuesChunk[chunkPositionsToCheckForEquality[pp * 2 + 1]] for each even/odd pair in chunkPositionsToCheckForEquality and writes the result to destinations.void
equalPermuted
(IntChunk<Attributes.ChunkPositions> lhsPositions, IntChunk<Attributes.ChunkPositions> rhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].boolean
equalReduce
(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs) Returns true iff the chunks have the same size() and each corresponding element of the chunk compares equal.boolean
static ChunkEquals
makeArrayEquals
(Class<?> componentType) static ChunkEquals
void
notEqual
(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if the values are not equal, or false otherwise
-
Method Details
-
equalReduce
Returns true iff the chunks have the same size() and each corresponding element of the chunk compares equal.- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparison
-
equal
void equal(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if the values are equal, or false otherwise- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
equalNext
For each pair of indices i and i + 1 in chunk; write true to destination[i] if they are equal, otherwise write false.- Parameters:
chunk
- the chunk to compare subsequent values indestination
- the chunk to write equality values into, size is chunk.size() - 1
-
equalPermuted
void equalPermuted(IntChunk<Attributes.ChunkPositions> lhsPositions, IntChunk<Attributes.ChunkPositions> rhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].- Parameters:
lhsPositions
- the positions within left-hand side of the comparisonrhsPositions
- the positions within the right-hand side of the comparisonlhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
equalLhsPermuted
void equalLhsPermuted(IntChunk<Attributes.ChunkPositions> lhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.- Parameters:
lhsPositions
- the positions within left-hand side of the comparisonlhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
andEqual
void andEqual(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for subsequent pair of chunks, if the corresponding destination entry is false, do nothing. If true, then set to false if the corresponding values are not equal.- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
andEqualNext
For each pair of indices i and i + 1 in chunk; if destination[i] is false do nothing, otherwise write true to destination[i] if they are equal.- Parameters:
chunk
- the chunk to compare subsequent values indestination
- the chunk to write equality values into, size is chunk.size() - 1
-
andEqualPermuted
void andEqualPermuted(IntChunk<Attributes.ChunkPositions> lhsPositions, IntChunk<Attributes.ChunkPositions> rhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) If destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].- Parameters:
lhsPositions
- the positions within left-hand side of the comparisonrhsPositions
- the positions within the right-hand side of the comparisonlhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
andEqualLhsPermuted
void andEqualLhsPermuted(IntChunk<Attributes.ChunkPositions> lhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) If destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.- Parameters:
lhsPositions
- the positions within left-hand side of the comparisonlhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
notEqual
void notEqual(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if the values are not equal, or false otherwise- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
andNotEqual
void andNotEqual(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Called for subsequent pair of chunks, if the corresponding destination entry is false, do nothing. If true, then set to false if the corresponding values are equal.- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
equalPairs
void equalPairs(IntChunk<Attributes.ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Attributes.Any> valuesChunk, WritableBooleanChunk destinations) Compares valuesChunk[chunkPositionsToCheckForEquality[pp * 2]] and valuesChunk[chunkPositionsToCheckForEquality[pp * 2 + 1]] for each even/odd pair in chunkPositionsToCheckForEquality and writes the result to destinations.- Parameters:
chunkPositionsToCheckForEquality
- the position pairs of interestvaluesChunk
- the chunk of values we are interested indestinations
- the destination chunk to write equality values into
-
andEqualPairs
void andEqualPairs(IntChunk<Attributes.ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Attributes.Any> valuesChunk, WritableBooleanChunk destinations) Compares valuesChunk[chunkPositionsToCheckForEquality[pp * 2]] and valuesChunk[chunkPositionsToCheckForEquality[pp * 2 + 1]] for each even/odd pair in chunkPositionsToCheckForEquality and writes the result to destinations.- Parameters:
chunkPositionsToCheckForEquality
- the position pairs of interestvaluesChunk
- the chunk of values we are interested indestinations
- the destination chunk to write equality values into
-
equals
-
makeEqual
-
makeArrayEquals
-