Class: Hackle::Hasher

Inherits:
Object
  • Object
show all
Defined in:
lib/hackle/internal/evaluation/bucketer/bucketer.rb

Instance Method Summary collapse

Instance Method Details

#hash(data, seed) ⇒ Integer

Parameters:

  • data (String)
  • seed (Integer)

Returns:

  • (Integer)


37
38
39
40
41
42
43
44
# File 'lib/hackle/internal/evaluation/bucketer/bucketer.rb', line 37

def hash(data, seed)
  unsigned_value = MurmurHash3::V32.str_hash(data, seed)
  if (unsigned_value & 0x80000000).zero?
    unsigned_value
  else
    -((unsigned_value ^ 0xFFFFFFFF) + 1)
  end
end