mirror of
https://github.com/golang/go
synced 2024-11-23 19:00:04 -07:00
math/big: add test cases for Float.Abs and Float.Neg
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>
This commit is contained in:
parent
64e7038291
commit
15fe15a198
@ -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}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user