|
@@ -79,8 +79,7 @@ func (xxh *XXHZero) Write(input []byte) (int, error) {
|
|
|
v1, v2, v3, v4 := xxh.v1, xxh.v2, xxh.v3, xxh.v4
|
|
v1, v2, v3, v4 := xxh.v1, xxh.v2, xxh.v3, xxh.v4
|
|
|
if m > 0 {
|
|
if m > 0 {
|
|
|
// some data left from previous update
|
|
// some data left from previous update
|
|
|
- copy(xxh.buf[xxh.bufused:], input[:r])
|
|
|
|
|
- xxh.bufused += len(input) - r
|
|
|
|
|
|
|
+ copy(xxh.buf[m:], input)
|
|
|
|
|
|
|
|
// fast rotl(13)
|
|
// fast rotl(13)
|
|
|
buf := xxh.buf[:16] // BCE hint.
|
|
buf := xxh.buf[:16] // BCE hint.
|
|
@@ -89,7 +88,6 @@ func (xxh *XXHZero) Write(input []byte) (int, error) {
|
|
|
v3 = rol13(v3+binary.LittleEndian.Uint32(buf[8:])*prime2) * prime1
|
|
v3 = rol13(v3+binary.LittleEndian.Uint32(buf[8:])*prime2) * prime1
|
|
|
v4 = rol13(v4+binary.LittleEndian.Uint32(buf[12:])*prime2) * prime1
|
|
v4 = rol13(v4+binary.LittleEndian.Uint32(buf[12:])*prime2) * prime1
|
|
|
p = r
|
|
p = r
|
|
|
- xxh.bufused = 0
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for n := n - 16; p <= n; p += 16 {
|
|
for n := n - 16; p <= n; p += 16 {
|
|
@@ -101,8 +99,8 @@ func (xxh *XXHZero) Write(input []byte) (int, error) {
|
|
|
}
|
|
}
|
|
|
xxh.v1, xxh.v2, xxh.v3, xxh.v4 = v1, v2, v3, v4
|
|
xxh.v1, xxh.v2, xxh.v3, xxh.v4 = v1, v2, v3, v4
|
|
|
|
|
|
|
|
- copy(xxh.buf[xxh.bufused:], input[p:])
|
|
|
|
|
- xxh.bufused += len(input) - p
|
|
|
|
|
|
|
+ copy(xxh.buf[:], input[p:])
|
|
|
|
|
+ xxh.bufused = len(input) - p
|
|
|
|
|
|
|
|
return n, nil
|
|
return n, nil
|
|
|
}
|
|
}
|