From 6fed2a68f7adec2a059acc4f702ebe950fdb5ce5 Mon Sep 17 00:00:00 2001 From: Charlie Dorian Date: Wed, 7 Oct 2015 18:23:28 -0400 Subject: math: Modf(-0) returns -0,-0 Fixes #12867 Change-Id: I8ba81c622bce2a77a6142f941603198582eaf8a4 Reviewed-on: https://go-review.googlesource.com/15570 Reviewed-by: Robert Griesemer --- src/math/modf.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/math/modf.go') diff --git a/src/math/modf.go b/src/math/modf.go index 1e8376a938..81cb8b5a9c 100644 --- a/src/math/modf.go +++ b/src/math/modf.go @@ -14,9 +14,12 @@ func Modf(f float64) (int float64, frac float64) func modf(f float64) (int float64, frac float64) { if f < 1 { - if f < 0 { + switch { + case f < 0: int, frac = Modf(-f) return -int, -frac + case f == 0: + return f, f // Return -0, -0 when f == -0 } return 0, f } -- cgit v1.3-5-g9baa