|
|
@@ -38,7 +38,7 @@ func slct(n uint64) uint32 { |
|
|
|
return primes[n&0xff] |
|
|
|
} |
|
|
|
|
|
|
|
func Engine(buffer []byte, length int, accumulator uint64) uint64 { |
|
|
|
func Engine(buffer string, length int, accumulator uint64) uint64 { |
|
|
|
for i := 0; i < length; i++ { |
|
|
|
b := buffer[i] |
|
|
|
accumulator += uint64(slct(accumulator)) + uint64(b) |
|
|
@@ -48,7 +48,7 @@ func Engine(buffer []byte, length int, accumulator uint64) uint64 { |
|
|
|
return accumulator |
|
|
|
} |
|
|
|
|
|
|
|
func Mishmash(buffer []byte, nums ...uint64) uint32 { |
|
|
|
func Mishmash(buffer string, nums ...uint64) uint32 { |
|
|
|
// nums is a seed/accumulator |
|
|
|
var accumulator uint64 |
|
|
|
if 0 == len(nums) { |
|
|
@@ -88,7 +88,7 @@ func main() { |
|
|
|
// example below used to validate output against C++ mishmash |
|
|
|
/* |
|
|
|
func main() { |
|
|
|
buf := []byte("Hello world!") |
|
|
|
buf := "Hello world!" |
|
|
|
first := MishmashAccumulator(Engine(buf, len(buf), 0)) |
|
|
|
second := MishmashAccumulator(Engine(buf, len(buf), 1)) |
|
|
|
var combo uint64 |