OSDN Git Service

test (#52)
[bytom/vapor.git] / vendor / gonum.org / v1 / gonum / blas / testblas / level2bench.go
1 package testblas
2
3 import (
4         "testing"
5
6         "golang.org/x/exp/rand"
7
8         "gonum.org/v1/gonum/blas"
9 )
10
11 func DgemvBenchmark(b *testing.B, blasser Dgemver, tA blas.Transpose, m, n, incX, incY int) {
12         var lenX, lenY int
13         if tA == blas.NoTrans {
14                 lenX = n
15                 lenY = m
16         } else {
17                 lenX = m
18                 lenY = n
19         }
20         xr := make([]float64, lenX)
21         for i := range xr {
22                 xr[i] = rand.Float64()
23         }
24         x := makeIncremented(xr, incX, 0)
25         yr := make([]float64, lenY)
26         for i := range yr {
27                 yr[i] = rand.Float64()
28         }
29         y := makeIncremented(yr, incY, 0)
30         a := make([]float64, m*n)
31         for i := range a {
32                 a[i] = rand.Float64()
33         }
34
35         b.ResetTimer()
36         for i := 0; i < b.N; i++ {
37                 blasser.Dgemv(tA, m, n, 2, a, n, x, incX, 3, y, incY)
38         }
39 }
40
41 func DgerBenchmark(b *testing.B, blasser Dgerer, m, n, incX, incY int) {
42         xr := make([]float64, m)
43         for i := range xr {
44                 xr[i] = rand.Float64()
45         }
46         x := makeIncremented(xr, incX, 0)
47         yr := make([]float64, n)
48         for i := range yr {
49                 yr[i] = rand.Float64()
50         }
51         y := makeIncremented(yr, incY, 0)
52         a := make([]float64, m*n)
53         for i := range a {
54                 a[i] = rand.Float64()
55         }
56
57         b.ResetTimer()
58         for i := 0; i < b.N; i++ {
59                 blasser.Dger(m, n, 2, x, incX, y, incY, a, n)
60         }
61 }