Hash.float64 and btoi helper functions are used only in the purego
version. Move them to the build tagged file.
Change-Id: I57f9a48966573ab0aee1de759eeddd2331967870
Reviewed-on: https://go-review.googlesource.com/c/go/+/675158
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
import (
"hash"
"internal/abi"
- "internal/byteorder"
- "math"
)
// A Seed is a random value that selects the specific hash function
}
writeComparable(h, x)
}
-
-func (h *Hash) float64(f float64) {
- if f == 0 {
- h.WriteByte(0)
- return
- }
- var buf [8]byte
- if f != f {
- byteorder.LEPutUint64(buf[:], randUint64())
- h.Write(buf[:])
- return
- }
- byteorder.LEPutUint64(buf[:], math.Float64bits(f))
- h.Write(buf[:])
-}
-
-func btoi(b bool) byte {
- if b {
- return 1
- }
- return 0
-}
"crypto/rand"
"errors"
"internal/byteorder"
+ "math"
"math/bits"
"reflect"
)
}
panic(errors.New("maphash: hash of unhashable type " + v.Type().String()))
}
+
+func (h *Hash) float64(f float64) {
+ if f == 0 {
+ h.WriteByte(0)
+ return
+ }
+ var buf [8]byte
+ if f != f {
+ byteorder.LEPutUint64(buf[:], randUint64())
+ h.Write(buf[:])
+ return
+ }
+ byteorder.LEPutUint64(buf[:], math.Float64bits(f))
+ h.Write(buf[:])
+}
+
+func btoi(b bool) byte {
+ if b {
+ return 1
+ }
+ return 0
+}