Interface ChunkHasher

All Known Implementing Classes:
BooleanChunkHasher, ByteChunkHasher, CharChunkHasher, DoubleChunkHasher, FloatChunkHasher, IntChunkHasher, LongChunkHasher, ObjectChunkHasher, ShortChunkHasher

public interface ChunkHasher
  • Method Details

    • hashInitial

      void hashInitial(Chunk<Values> values, WritableIntChunk<HashCodes> destination)
      Called for the first (or only) hash value, sets the hash codes in destination corresponding to values.
      Parameters:
      values - the values to hash
      destination - the chunk to write hash values into
    • hashUpdate

      void hashUpdate(Chunk<Values> values, WritableIntChunk<HashCodes> destination)
      Called for subsequent hash values, updates the hash codes in destination corresponding to values.
      Parameters:
      values - the values to hash
      destination - the chunk to update hash values into
    • hashInitial

      int hashInitial(Object value)
      Hash a boxed object.
      Parameters:
      value - the boxed object to hash
      Returns:
      the hashcode, as if you called the chunked version of this function
    • hashUpdate

      int hashUpdate(int existing, Object value)
      Update a hash for a boxed object.
      Parameters:
      existing - the existing hashcode
      value - the boxed object to add to the hash code
      Returns:
      the hashcode, as if you called the chunked version of this function
    • makeHasher

      static ChunkHasher makeHasher(ChunkType chunkType)
    • scrambleHash

      static int scrambleHash(int x)