class Digest::XXHash

Attributes

digest_length[R]

Public Class Methods

new(bitlen, seed = 0) click to toggle source
# File lib/ruby-xxhash.rb, line 48
def initialize bitlen, seed = 0
  case bitlen
    when 32
      @hash = XXhash::XXhashInternal::XXhash32.new(seed)
    when 64
      @hash = XXhash::XXhashInternal::XXhash64.new(seed)
    else
      raise ArgumentError, "Unsupported bit length: %s" % bitlen.inspect
  end
  @digest_length = bitlen
end

Public Instance Methods

digest(val=nil) click to toggle source
# File lib/ruby-xxhash.rb, line 64
def digest val=nil
  if val
    @hash.update val
  end

  @hash.digest
end
digest!(val=nil) click to toggle source
# File lib/ruby-xxhash.rb, line 72
def digest! val=nil
  result = digest(val)
  @hash.reset
  result
end
reset() click to toggle source
# File lib/ruby-xxhash.rb, line 78
def reset
  @hash.reset
end
update(chunk) click to toggle source
# File lib/ruby-xxhash.rb, line 60
def update chunk
  @hash.update(chunk)
end