]> Cypherpunks repositories - gostls13.git/commitdiff
hash/maphash: move purego-only helper functions to build tagged file
authorCherry Mui <cherryyz@google.com>
Thu, 22 May 2025 02:50:09 +0000 (22:50 -0400)
committerCherry Mui <cherryyz@google.com>
Thu, 22 May 2025 03:19:55 +0000 (20:19 -0700)
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>

src/hash/maphash/maphash.go
src/hash/maphash/maphash_purego.go

index d328cd3929ad51a38fb4bae908af9575c59de303..c6f3e62b5d136dcd0b88d81daac28bcb7b69834a 100644 (file)
@@ -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
-}
index 07b5eaa46056ace2447c5a863772c218164b8aef..e286c5a5aa7b76909d68700f6b4b0bf7f73263c6 100644 (file)
@@ -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
+}