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 SummaryModifier 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- 
equalReduceReturns 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 comparison
- rhs- the right-hand side of the comparison
 
- 
equalvoid 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 comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
equalNextFor 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 in
- destination- the chunk to write equality values into, size is chunk.size() - 1
 
- 
equalPermutedvoid 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 comparison
- rhsPositions- the positions within the right-hand side of the comparison
- lhs- the left-hand side of the comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
equalLhsPermutedvoid 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 comparison
- lhs- the left-hand side of the comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
andEqualvoid 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 comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
andEqualNextFor 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 in
- destination- the chunk to write equality values into, size is chunk.size() - 1
 
- 
andEqualPermutedvoid 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 comparison
- rhsPositions- the positions within the right-hand side of the comparison
- lhs- the left-hand side of the comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
andEqualLhsPermutedvoid 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 comparison
- lhs- the left-hand side of the comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
notEqualvoid 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 comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
andNotEqualvoid 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 comparison
- rhs- the right-hand side of the comparison
- destination- the chunk to write equality values into
 
- 
equalPairsvoid 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 interest
- valuesChunk- the chunk of values we are interested in
- destinations- the destination chunk to write equality values into
 
- 
andEqualPairsvoid 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 interest
- valuesChunk- the chunk of values we are interested in
- destinations- the destination chunk to write equality values into
 
- 
equals
- 
makeEqual
- 
makeArrayEquals
 
-