From a59a27564b6d2a2fdf53eb43b3f8d6e7d0117e10 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Thu, 29 Oct 2015 13:02:28 -0700 Subject: [PATCH] math: fix typo and braino in my earlier commit The bug number was a typo, and I forgot to switch the implementation back to if statements after the change from Float64bits in the first patchset back to branching. if statements can currently be inlined, but switch cannot (#13071) Change-Id: I81d0cf64bda69186c3d747a07047f6a694f8fa70 Reviewed-on: https://go-review.googlesource.com/16446 Reviewed-by: Robert Griesemer Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/math/abs.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/math/abs.go b/src/math/abs.go index e35e4da792..924ee7cc97 100644 --- a/src/math/abs.go +++ b/src/math/abs.go @@ -10,13 +10,13 @@ package math // Abs(±Inf) = +Inf // Abs(NaN) = NaN func Abs(x float64) float64 { - // TODO: once golang.org/issue/13905 is fixed, change this to: + // TODO: once golang.org/issue/13095 is fixed, change this to: // return Float64frombits(Float64bits(x) &^ (1 << 63)) // But for now, this generates better code and can also be inlined: - switch { - case x < 0: + if x < 0 { return -x - case x == 0: + } + if x == 0 { return 0 // return correctly abs(-0) } return x -- 2.48.1