diff options
Diffstat (limited to 'libgo/go/math/mod.go')
-rw-r--r-- | libgo/go/math/mod.go | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/libgo/go/math/mod.go b/libgo/go/math/mod.go index 0b208f4..436788f 100644 --- a/libgo/go/math/mod.go +++ b/libgo/go/math/mod.go @@ -30,16 +30,12 @@ func mod(x, y float64) float64 { if y == 0 || IsInf(x, 0) || IsNaN(x) || IsNaN(y) { return NaN() } - if y < 0 { - y = -y - } + y = Abs(y) yfr, yexp := Frexp(y) - sign := false r := x if x < 0 { r = -x - sign = true } for r >= y { @@ -49,7 +45,7 @@ func mod(x, y float64) float64 { } r = r - Ldexp(y, rexp-yexp) } - if sign { + if x < 0 { r = -r } return r |