aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCherry Mui <cherryyz@google.com>2025-05-21 22:50:09 -0400
committerCherry Mui <cherryyz@google.com>2025-05-21 20:19:55 -0700
commitd2db2372a2fd79d539719fa13422d83d6fdfcda1 (patch)
tree45bb38f4212e4bad53e9785ce16d2661bd0266af
parent5e6a868b28d3e7a71fa328c18ff5e93d72a1fb67 (diff)
downloadgo-d2db2372a2fd79d539719fa13422d83d6fdfcda1.tar.xz
hash/maphash: move purego-only helper functions to build tagged file
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>
-rw-r--r--src/hash/maphash/maphash.go24
-rw-r--r--src/hash/maphash/maphash_purego.go23
2 files changed, 23 insertions, 24 deletions
diff --git a/src/hash/maphash/maphash.go b/src/hash/maphash/maphash.go
index d328cd3929..c6f3e62b5d 100644
--- a/src/hash/maphash/maphash.go
+++ b/src/hash/maphash/maphash.go
@@ -15,8 +15,6 @@ package maphash
import (
"hash"
"internal/abi"
- "internal/byteorder"
- "math"
)
// A Seed is a random value that selects the specific hash function
@@ -310,25 +308,3 @@ func WriteComparable[T comparable](h *Hash, x T) {
}
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
-}
diff --git a/src/hash/maphash/maphash_purego.go b/src/hash/maphash/maphash_purego.go
index 07b5eaa460..e286c5a5aa 100644
--- a/src/hash/maphash/maphash_purego.go
+++ b/src/hash/maphash/maphash_purego.go
@@ -10,6 +10,7 @@ import (
"crypto/rand"
"errors"
"internal/byteorder"
+ "math"
"math/bits"
"reflect"
)
@@ -175,3 +176,25 @@ func appendT(h *Hash, v reflect.Value) {
}
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
+}