From: Brad Fitzpatrick Date: Thu, 29 Oct 2015 20:02:28 +0000 (-0700) Subject: math: fix typo and braino in my earlier commit X-Git-Tag: go1.6beta1~681 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a59a27564b6d2a2fdf53eb43b3f8d6e7d0117e10;p=gostls13.git 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 --- 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