]> Cypherpunks repositories - gostls13.git/commitdiff
math/big: add test cases for Float.Abs and Float.Neg
authorRobert Griesemer <gri@golang.org>
Tue, 10 Feb 2015 22:51:16 +0000 (14:51 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 11 Feb 2015 17:02:54 +0000 (17:02 +0000)
Change-Id: Ic5f3864bc6d94d60b754e3ccf72b1d40c5c09117
Reviewed-on: https://go-review.googlesource.com/4510
Reviewed-by: Rob Pike <r@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
src/math/big/float_test.go

index 8e6490e15d75dc9c3302ba80dd4c6225c850a098..58fab4605aafb5123816f57fc66638735de3e628 100644 (file)
@@ -593,6 +593,53 @@ func TestFloatRat(t *testing.T) {
        // TODO(gri) implement this
 }
 
+func TestFloatAbs(t *testing.T) {
+       for _, test := range []string{
+               "0",
+               "1",
+               "1234",
+               "1.23e-2",
+               "1e-1000",
+               "1e1000",
+               "Inf",
+       } {
+               p := makeFloat(test)
+               a := new(Float).Abs(p)
+               if !feq(a, p) {
+                       t.Errorf("%s: got %s; want %s", test, a.Format('g', 10), test)
+               }
+
+               n := makeFloat("-" + test)
+               a.Abs(n)
+               if !feq(a, p) {
+                       t.Errorf("-%s: got %s; want %s", test, a.Format('g', 10), test)
+               }
+       }
+}
+
+func TestFloatNeg(t *testing.T) {
+       for _, test := range []string{
+               "0",
+               "1",
+               "1234",
+               "1.23e-2",
+               "1e-1000",
+               "1e1000",
+               "Inf",
+       } {
+               p1 := makeFloat(test)
+               n1 := makeFloat("-" + test)
+               n2 := new(Float).Neg(p1)
+               p2 := new(Float).Neg(n2)
+               if !feq(n2, n1) {
+                       t.Errorf("%s: got %s; want %s", test, n2.Format('g', 10), n1.Format('g', 10))
+               }
+               if !feq(p2, p1) {
+                       t.Errorf("%s: got %s; want %s", test, p2.Format('g', 10), p1.Format('g', 10))
+               }
+       }
+}
+
 // Selected precisions with which to run various tests.
 var precList = [...]uint{1, 2, 5, 8, 10, 16, 23, 24, 32, 50, 53, 64, 100, 128, 500, 511, 512, 513, 1000, 10000}