Package io.deephaven.chunk.util.hashing
Interface ChunkEquals
- All Known Implementing Classes:
BooleanChunkEquals,ByteChunkEquals,CharChunkEquals,DoubleChunkEquals,FloatChunkEquals,IntChunkEquals,LongChunkEquals,ObjectChunkDeepEquals,ObjectChunkEquals,ObjectChunkIdentityEquals,ShortChunkEquals
public interface ChunkEquals
-
Method Summary
Modifier and TypeMethodDescriptionvoidCalled for subsequent pair of chunks, if the corresponding destination entry is false, do nothing.voidandEqualLhsPermuted(IntChunk<ChunkPositions> lhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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 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<ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends 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<ChunkPositions> lhsPositions, IntChunk<ChunkPositions> rhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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 Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Called for subsequent pair of chunks, if the corresponding destination entry is false, do nothing.voidCalled for the first (or only) pair of chunks, sets the corresponding destination entry to true if the values are equal, or false otherwisevoidequalLhsPermuted(IntChunk<ChunkPositions> lhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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 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<ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends 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<ChunkPositions> lhsPositions, IntChunk<ChunkPositions> rhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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 Any> lhs, Chunk<? extends Any> rhs) Returns true iff the chunks have the same size() and each corresponding element of the chunk compares equal.static ChunkEqualsvoidCalled 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
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<ChunkPositions> lhsPositions, IntChunk<ChunkPositions> rhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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<ChunkPositions> lhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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
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<ChunkPositions> lhsPositions, IntChunk<ChunkPositions> rhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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<ChunkPositions> lhsPositions, Chunk<? extends Any> lhs, Chunk<? extends 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
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 Any> lhs, Chunk<? extends 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<ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends 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<ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends 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
-
makeEqual
-