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 Type Method Description 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.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
equals(Object lhs, Object rhs)
static ChunkEquals
makeArrayEquals(Class<?> componentType)
static ChunkEquals
makeEqual(ChunkType chunkType, Class<?> columnType, Class<?> componentType)
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
-