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 TypeMethodDescriptionvoidandEqual(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.voidandEqualLhsPermuted(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.voidandEqualNext(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.voidandEqualPairs(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.voidandEqualPermuted(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].voidandNotEqual(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.voidequal(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 otherwisevoidequalLhsPermuted(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.voidequalNext(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.voidequalPairs(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.voidequalPermuted(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].booleanequalReduce(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.booleanstatic ChunkEqualsmakeArrayEquals(Class<?> componentType) static ChunkEqualsvoidnotEqual(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
-