From: Shenghou Ma Date: Thu, 10 May 2012 19:09:14 +0000 (+0800) Subject: runtime: fix complex division benchmarks X-Git-Tag: go1.1rc2~3222 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=aa45e52e74f37e39a5a8234071742d50b87b7b2c;p=gostls13.git runtime: fix complex division benchmarks we can't add the division result to n during iteration, because it might turn n into NaN or Inf. R=golang-dev, rsc, iant, iant CC=golang-dev https://golang.org/cl/6197045 --- diff --git a/src/pkg/runtime/complex_test.go b/src/pkg/runtime/complex_test.go index ebe2d59124..f41e6a3570 100644 --- a/src/pkg/runtime/complex_test.go +++ b/src/pkg/runtime/complex_test.go @@ -14,44 +14,54 @@ var result complex128 func BenchmarkComplex128DivNormal(b *testing.B) { d := 15 + 2i n := 32 + 3i + res := 0i for i := 0; i < b.N; i++ { - n += n / d + n += 0.1i + res += n / d } - result = n + result = res } func BenchmarkComplex128DivNisNaN(b *testing.B) { d := cmplx.NaN() n := 32 + 3i + res := 0i for i := 0; i < b.N; i++ { - n += n / d + n += 0.1i + res += n / d } - result = n + result = res } func BenchmarkComplex128DivDisNaN(b *testing.B) { d := 15 + 2i n := cmplx.NaN() + res := 0i for i := 0; i < b.N; i++ { - n += n / d + d += 0.1i + res += n / d } - result = n + result = res } func BenchmarkComplex128DivNisInf(b *testing.B) { d := 15 + 2i n := cmplx.Inf() + res := 0i for i := 0; i < b.N; i++ { - n += n / d + d += 0.1i + res += n / d } - result = n + result = res } func BenchmarkComplex128DivDisInf(b *testing.B) { d := cmplx.Inf() n := 32 + 3i + res := 0i for i := 0; i < b.N; i++ { - n += n / d + n += 0.1i + res += n / d } - result = n + result = res }