aboutsummaryrefslogtreecommitdiff
path: root/src/math
diff options
context:
space:
mode:
authormohanson <mohanson@outlook.com>2025-12-23 10:44:51 +0800
committerGopher Robot <gobot@golang.org>2026-01-23 08:23:44 -0800
commit23f7ba554d0e3ffbe18d04e79c34984e050869e1 (patch)
treec13bae91ee0d2af9a46adcbd53fd0f1e2fb25e70 /src/math
parent84c8483e02280a87d71eac6b231a514200dfab2b (diff)
downloadgo-23f7ba554d0e3ffbe18d04e79c34984e050869e1.tar.xz
math: use shared signMask constant
In abs.go and copysign.go, magic numbers and local constants are used for the sign bit mask (1 << 63), even though a shared constant signMask already exists in bits.go. Change-Id: Ic3aeb9b52674538443cbe074acfeb373a3c74a8e Reviewed-on: https://go-review.googlesource.com/c/go/+/732060 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Robert Griesemer <gri@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org> Reviewed-by: Robert Griesemer <gri@google.com>
Diffstat (limited to 'src/math')
-rw-r--r--src/math/abs.go2
-rw-r--r--src/math/copysign.go3
2 files changed, 2 insertions, 3 deletions
diff --git a/src/math/abs.go b/src/math/abs.go
index 08be14548d..945cbd5d86 100644
--- a/src/math/abs.go
+++ b/src/math/abs.go
@@ -11,5 +11,5 @@ package math
// Abs(±Inf) = +Inf
// Abs(NaN) = NaN
func Abs(x float64) float64 {
- return Float64frombits(Float64bits(x) &^ (1 << 63))
+ return Float64frombits(Float64bits(x) &^ signMask)
}
diff --git a/src/math/copysign.go b/src/math/copysign.go
index 3a30afb413..ae9ae35897 100644
--- a/src/math/copysign.go
+++ b/src/math/copysign.go
@@ -7,6 +7,5 @@ package math
// Copysign returns a value with the magnitude of f
// and the sign of sign.
func Copysign(f, sign float64) float64 {
- const signBit = 1 << 63
- return Float64frombits(Float64bits(f)&^signBit | Float64bits(sign)&signBit)
+ return Float64frombits(Float64bits(f)&^signMask | Float64bits(sign)&signMask)
}