blob: f41e6a3570140cf71bbade054b7e5591b3ebc927 [file] [log] [blame]
Colin Cross7bb052a2015-02-03 12:59:37 -08001// Copyright 2012 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package runtime_test
6
7import (
8 "math/cmplx"
9 "testing"
10)
11
12var result complex128
13
14func BenchmarkComplex128DivNormal(b *testing.B) {
15 d := 15 + 2i
16 n := 32 + 3i
17 res := 0i
18 for i := 0; i < b.N; i++ {
19 n += 0.1i
20 res += n / d
21 }
22 result = res
23}
24
25func BenchmarkComplex128DivNisNaN(b *testing.B) {
26 d := cmplx.NaN()
27 n := 32 + 3i
28 res := 0i
29 for i := 0; i < b.N; i++ {
30 n += 0.1i
31 res += n / d
32 }
33 result = res
34}
35
36func BenchmarkComplex128DivDisNaN(b *testing.B) {
37 d := 15 + 2i
38 n := cmplx.NaN()
39 res := 0i
40 for i := 0; i < b.N; i++ {
41 d += 0.1i
42 res += n / d
43 }
44 result = res
45}
46
47func BenchmarkComplex128DivNisInf(b *testing.B) {
48 d := 15 + 2i
49 n := cmplx.Inf()
50 res := 0i
51 for i := 0; i < b.N; i++ {
52 d += 0.1i
53 res += n / d
54 }
55 result = res
56}
57
58func BenchmarkComplex128DivDisInf(b *testing.B) {
59 d := cmplx.Inf()
60 n := 32 + 3i
61 res := 0i
62 for i := 0; i < b.N; i++ {
63 n += 0.1i
64 res += n / d
65 }
66 result = res
67}