summaryrefslogtreecommitdiff
path: root/src/pkg/hash/fnv/fnv.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/hash/fnv/fnv.go')
-rw-r--r--src/pkg/hash/fnv/fnv.go131
1 files changed, 0 insertions, 131 deletions
diff --git a/src/pkg/hash/fnv/fnv.go b/src/pkg/hash/fnv/fnv.go
deleted file mode 100644
index c0206613a..000000000
--- a/src/pkg/hash/fnv/fnv.go
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions
-// created by Glenn Fowler, Landon Curt Noll, and Phong Vo.
-// See
-// http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function.
-package fnv
-
-import (
- "hash"
-)
-
-type (
- sum32 uint32
- sum32a uint32
- sum64 uint64
- sum64a uint64
-)
-
-const (
- offset32 = 2166136261
- offset64 = 14695981039346656037
- prime32 = 16777619
- prime64 = 1099511628211
-)
-
-// New32 returns a new 32-bit FNV-1 hash.Hash.
-func New32() hash.Hash32 {
- var s sum32 = offset32
- return &s
-}
-
-// New32a returns a new 32-bit FNV-1a hash.Hash.
-func New32a() hash.Hash32 {
- var s sum32a = offset32
- return &s
-}
-
-// New64 returns a new 64-bit FNV-1 hash.Hash.
-func New64() hash.Hash64 {
- var s sum64 = offset64
- return &s
-}
-
-// New64a returns a new 64-bit FNV-1a hash.Hash.
-func New64a() hash.Hash64 {
- var s sum64a = offset64
- return &s
-}
-
-func (s *sum32) Reset() { *s = offset32 }
-func (s *sum32a) Reset() { *s = offset32 }
-func (s *sum64) Reset() { *s = offset64 }
-func (s *sum64a) Reset() { *s = offset64 }
-
-func (s *sum32) Sum32() uint32 { return uint32(*s) }
-func (s *sum32a) Sum32() uint32 { return uint32(*s) }
-func (s *sum64) Sum64() uint64 { return uint64(*s) }
-func (s *sum64a) Sum64() uint64 { return uint64(*s) }
-
-func (s *sum32) Write(data []byte) (int, error) {
- hash := *s
- for _, c := range data {
- hash *= prime32
- hash ^= sum32(c)
- }
- *s = hash
- return len(data), nil
-}
-
-func (s *sum32a) Write(data []byte) (int, error) {
- hash := *s
- for _, c := range data {
- hash ^= sum32a(c)
- hash *= prime32
- }
- *s = hash
- return len(data), nil
-}
-
-func (s *sum64) Write(data []byte) (int, error) {
- hash := *s
- for _, c := range data {
- hash *= prime64
- hash ^= sum64(c)
- }
- *s = hash
- return len(data), nil
-}
-
-func (s *sum64a) Write(data []byte) (int, error) {
- hash := *s
- for _, c := range data {
- hash ^= sum64a(c)
- hash *= prime64
- }
- *s = hash
- return len(data), nil
-}
-
-func (s *sum32) Size() int { return 4 }
-func (s *sum32a) Size() int { return 4 }
-func (s *sum64) Size() int { return 8 }
-func (s *sum64a) Size() int { return 8 }
-
-func (s *sum32) BlockSize() int { return 1 }
-func (s *sum32a) BlockSize() int { return 1 }
-func (s *sum64) BlockSize() int { return 1 }
-func (s *sum64a) BlockSize() int { return 1 }
-
-func (s *sum32) Sum(in []byte) []byte {
- v := uint32(*s)
- return append(in, byte(v>>24), byte(v>>16), byte(v>>8), byte(v))
-}
-
-func (s *sum32a) Sum(in []byte) []byte {
- v := uint32(*s)
- return append(in, byte(v>>24), byte(v>>16), byte(v>>8), byte(v))
-}
-
-func (s *sum64) Sum(in []byte) []byte {
- v := uint64(*s)
- return append(in, byte(v>>56), byte(v>>48), byte(v>>40), byte(v>>32), byte(v>>24), byte(v>>16), byte(v>>8), byte(v))
-}
-
-func (s *sum64a) Sum(in []byte) []byte {
- v := uint64(*s)
- return append(in, byte(v>>56), byte(v>>48), byte(v>>40), byte(v>>32), byte(v>>24), byte(v>>16), byte(v>>8), byte(v))
-}