Package io.deephaven.chunk.util.hashing
Class IntChunkEquals
java.lang.Object
io.deephaven.chunk.util.hashing.IntChunkEquals
- All Implemented Interfaces:
ChunkEquals
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Called for subsequent pair of chunks, if the corresponding destination entry is false, do nothing.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.void
andEqualNext
(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.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.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].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.static void
equal
(Chunk<? extends Any> lhs, int rhs, WritableBooleanChunk destination) void
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<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.void
equalNext
(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.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.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].boolean
equalReduce
(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 boolean
equalReduce
(IntChunk<? extends Any> lhs, IntChunk<? extends Any> rhs) static int
firstDifference
(IntChunk<? extends Any> lhs, IntChunk<? extends Any> rhs) static void
notEqual
(Chunk<? extends Any> lhs, int rhs, WritableBooleanChunk destination) void
Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if the values are not equal, or false otherwisestatic void
notEqual
(IntChunk<? extends Any> lhs, int rhs, WritableBooleanChunk destination) static void
notEqual
(IntChunk<? extends Any> lhs, IntChunk<? extends Any> rhs, WritableBooleanChunk destination)
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
IntChunkEquals
public IntChunkEquals()
-
-
Method Details
-
equalReduce
-
firstDifference
-
notEqual
public static void notEqual(IntChunk<? extends Any> lhs, IntChunk<? extends Any> rhs, WritableBooleanChunk destination) -
notEqual
-
equalReduce
Description copied from interface:ChunkEquals
Returns true iff the chunks have the same size() and each corresponding element of the chunk compares equal.- Specified by:
equalReduce
in interfaceChunkEquals
- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparison
-
equal
public void equal(Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if the values are equal, or false otherwise- Specified by:
equal
in interfaceChunkEquals
- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
equal
-
equalNext
Description copied from interface:ChunkEquals
For each pair of indices i and i + 1 in chunk; write true to destination[i] if they are equal, otherwise write false.- Specified by:
equalNext
in interfaceChunkEquals
- Parameters:
chunk
- the chunk to compare subsequent values indestination
- the chunk to write equality values into, size is chunk.size() - 1
-
andEqual
public void andEqual(Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
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.- Specified by:
andEqual
in interfaceChunkEquals
- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
andEqualNext
Description copied from interface:ChunkEquals
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.- Specified by:
andEqualNext
in interfaceChunkEquals
- Parameters:
chunk
- the chunk to compare subsequent values indestination
- the chunk to write equality values into, size is chunk.size() - 1
-
equalPermuted
public void equalPermuted(IntChunk<ChunkPositions> lhsPositions, IntChunk<ChunkPositions> rhsPositions, Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].- Specified by:
equalPermuted
in interfaceChunkEquals
- 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
public void equalLhsPermuted(IntChunk<ChunkPositions> lhsPositions, Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
Called for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.- Specified by:
equalLhsPermuted
in interfaceChunkEquals
- 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
-
andEqualPermuted
public void andEqualPermuted(IntChunk<ChunkPositions> lhsPositions, IntChunk<ChunkPositions> rhsPositions, Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
If destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].- Specified by:
andEqualPermuted
in interfaceChunkEquals
- 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
public void andEqualLhsPermuted(IntChunk<ChunkPositions> lhsPositions, Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
If destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.- Specified by:
andEqualLhsPermuted
in interfaceChunkEquals
- 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
public void notEqual(Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
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- Specified by:
notEqual
in interfaceChunkEquals
- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
notEqual
-
andNotEqual
public void andNotEqual(Chunk<? extends Any> lhs, Chunk<? extends Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEquals
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.- Specified by:
andNotEqual
in interfaceChunkEquals
- Parameters:
lhs
- the left-hand side of the comparisonrhs
- the right-hand side of the comparisondestination
- the chunk to write equality values into
-
equalPairs
public void equalPairs(IntChunk<ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Any> valuesChunk, WritableBooleanChunk destinations) Description copied from interface:ChunkEquals
Compares valuesChunk[chunkPositionsToCheckForEquality[pp * 2]] and valuesChunk[chunkPositionsToCheckForEquality[pp * 2 + 1]] for each even/odd pair in chunkPositionsToCheckForEquality and writes the result to destinations.- Specified by:
equalPairs
in interfaceChunkEquals
- Parameters:
chunkPositionsToCheckForEquality
- the position pairs of interestvaluesChunk
- the chunk of values we are interested indestinations
- the destination chunk to write equality values into
-
andEqualPairs
public void andEqualPairs(IntChunk<ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Any> valuesChunk, WritableBooleanChunk destinations) Description copied from interface:ChunkEquals
Compares valuesChunk[chunkPositionsToCheckForEquality[pp * 2]] and valuesChunk[chunkPositionsToCheckForEquality[pp * 2 + 1]] for each even/odd pair in chunkPositionsToCheckForEquality and writes the result to destinations.- Specified by:
andEqualPairs
in interfaceChunkEquals
- Parameters:
chunkPositionsToCheckForEquality
- the position pairs of interestvaluesChunk
- the chunk of values we are interested indestinations
- the destination chunk to write equality values into
-