Package com.illumon.iris.db.v2.hashing
Class ObjectChunkEquals
java.lang.Object
com.illumon.iris.db.v2.hashing.ObjectChunkEquals
- All Implemented Interfaces:
ChunkEquals
-
Field Summary
Fields -
Constructor Summary
Constructors -
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 otherwisestatic voidequal(Chunk<? extends Attributes.Any> lhs, Object rhs, WritableBooleanChunk destination) voidequalLhsPermuted(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.static booleanequalReduce(ObjectChunk<Object, ? extends Attributes.Any> lhs, ObjectChunk<Object, ? extends Attributes.Any> rhs) booleanstatic intfirstDifference(ObjectChunk<Object, ? extends Attributes.Any> lhs, ObjectChunk<Object, ? extends Attributes.Any> rhs) voidnotEqual(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 otherwisestatic voidnotEqual(Chunk<? extends Attributes.Any> lhs, Object rhs, WritableBooleanChunk destination) static voidnotEqual(ObjectChunk<Object, ? extends Attributes.Any> lhs, ObjectChunk<Object, ? extends Attributes.Any> rhs, WritableBooleanChunk destination) static voidnotEqual(ObjectChunk<Object, ? extends Attributes.Any> lhs, Object rhs, WritableBooleanChunk destination)
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
ObjectChunkEquals
public ObjectChunkEquals()
-
-
Method Details
-
equalReduce
public static boolean equalReduce(ObjectChunk<Object, ? extends Attributes.Any> lhs, ObjectChunk<Object, ? extends Attributes.Any> rhs) -
firstDifference
public static int firstDifference(ObjectChunk<Object, ? extends Attributes.Any> lhs, ObjectChunk<Object, ? extends Attributes.Any> rhs) -
notEqual
public static void notEqual(ObjectChunk<Object, ? extends Attributes.Any> lhs, ObjectChunk<Object, ? extends Attributes.Any> rhs, WritableBooleanChunk destination) -
notEqual
public static void notEqual(ObjectChunk<Object, ? extends Attributes.Any> lhs, Object rhs, WritableBooleanChunk destination) -
equalReduce
public boolean equalReduce(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs) Description copied from interface:ChunkEqualsReturns true iff the chunks have the same size() and each corresponding element of the chunk compares equal.- Specified by:
equalReducein interfaceChunkEquals- Parameters:
lhs- the left-hand side of the comparisonrhs- the right-hand side of the comparison
-
equal
public void equal(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsCalled 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:
equalin 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
public static void equal(Chunk<? extends Attributes.Any> lhs, Object rhs, WritableBooleanChunk destination) -
equalNext
Description copied from interface:ChunkEqualsFor each pair of indices i and i + 1 in chunk; write true to destination[i] if they are equal, otherwise write false.- Specified by:
equalNextin 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 Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsCalled 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:
andEqualin 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:ChunkEqualsFor 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:
andEqualNextin 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<Attributes.ChunkPositions> lhsPositions, IntChunk<Attributes.ChunkPositions> rhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsCalled for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].- Specified by:
equalPermutedin 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<Attributes.ChunkPositions> lhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsCalled for the first (or only) pair of chunks, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.- Specified by:
equalLhsPermutedin 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<Attributes.ChunkPositions> lhsPositions, IntChunk<Attributes.ChunkPositions> rhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsIf destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs[rhsPositions].- Specified by:
andEqualPermutedin 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<Attributes.ChunkPositions> lhsPositions, Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsIf destination[i] is false do nothing, otherwise, sets the corresponding destination entry to true if lhs[lhsPositions] == rhs.- Specified by:
andEqualLhsPermutedin 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 Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsCalled 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:
notEqualin 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
public static void notEqual(Chunk<? extends Attributes.Any> lhs, Object rhs, WritableBooleanChunk destination) -
andNotEqual
public void andNotEqual(Chunk<? extends Attributes.Any> lhs, Chunk<? extends Attributes.Any> rhs, WritableBooleanChunk destination) Description copied from interface:ChunkEqualsCalled 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:
andNotEqualin 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<Attributes.ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Attributes.Any> valuesChunk, WritableBooleanChunk destinations) Description copied from interface:ChunkEqualsCompares 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:
equalPairsin 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<Attributes.ChunkPositions> chunkPositionsToCheckForEquality, Chunk<? extends Attributes.Any> valuesChunk, WritableBooleanChunk destinations) Description copied from interface:ChunkEqualsCompares 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:
andEqualPairsin interfaceChunkEquals- Parameters:
chunkPositionsToCheckForEquality- the position pairs of interestvaluesChunk- the chunk of values we are interested indestinations- the destination chunk to write equality values into
-
equals
- Specified by:
equalsin interfaceChunkEquals
-