Module: Gizzard::Digest

Defined in:
lib/gizzard/digest.rb

Class Method Summary collapse

Class Method Details

.fnv1a_64(data) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/gizzard/digest.rb', line 3

def self.fnv1a_64(data)
  prime = 1099511628211
  rv = 0xcbf29ce484222325
  data.each_byte do |byte|
    rv = ((rv ^ (byte & 0xff)) * prime) & 0xffffffffffffffff
  end
  # trim to 60 bits for gizzard.
  rv & 0x0fffffffffffffff
end