| // Code generated by "go run github.com/gonum/blas/testblas/benchautogen/autogen_bench_level1double.go"; DO NOT EDIT. |
| |
| // Copyright 2014 The Gonum Authors. All rights reserved. |
| // Use of this code is governed by a BSD-style |
| // license that can be found in the LICENSE file |
| |
| package gonum |
| |
| import ( |
| "math/rand" |
| "testing" |
| |
| "gonum.org/v1/gonum/blas" |
| ) |
| |
| const ( |
| posInc1 = 5 |
| posInc2 = 3 |
| negInc1 = -3 |
| negInc2 = -4 |
| SMALL_SLICE = 10 |
| MEDIUM_SLICE = 1000 |
| LARGE_SLICE = 100000 |
| HUGE_SLICE = 10000000 |
| ) |
| |
| func randomSlice(l, idx int) []float64 { |
| if idx < 0 { |
| idx = -idx |
| } |
| s := make([]float64, l*idx) |
| for i := range s { |
| s[i] = rand.Float64() |
| } |
| return s |
| } |
| |
| func benchmarkDdot(b *testing.B, n int, x []float64, incX int, y []float64, incY int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Ddot(n, x, incX, y, incY) |
| } |
| } |
| |
| func BenchmarkDdotSmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotSmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotSmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotSmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDdotHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDdot(b, n, x, incX, y, incY) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDnrm2(b *testing.B, n int, x []float64, incX int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Dnrm2(n, x, incX) |
| } |
| } |
| |
| func BenchmarkDnrm2SmallUnitaryInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| func BenchmarkDnrm2SmallPosInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| func BenchmarkDnrm2MediumUnitaryInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| func BenchmarkDnrm2MediumPosInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| func BenchmarkDnrm2LargeUnitaryInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| func BenchmarkDnrm2LargePosInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| func BenchmarkDnrm2HugeUnitaryInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| func BenchmarkDnrm2HugePosInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDnrm2(b, n, x, incX) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDasum(b *testing.B, n int, x []float64, incX int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Dasum(n, x, incX) |
| } |
| } |
| |
| func BenchmarkDasumSmallUnitaryInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| func BenchmarkDasumSmallPosInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| func BenchmarkDasumMediumUnitaryInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| func BenchmarkDasumMediumPosInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| func BenchmarkDasumLargeUnitaryInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| func BenchmarkDasumLargePosInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| func BenchmarkDasumHugeUnitaryInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| func BenchmarkDasumHugePosInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkDasum(b, n, x, incX) |
| } |
| |
| /* ------------------ */ |
| func benchmarkIdamax(b *testing.B, n int, x []float64, incX int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Idamax(n, x, incX) |
| } |
| } |
| |
| func BenchmarkIdamaxSmallUnitaryInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| func BenchmarkIdamaxSmallPosInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| func BenchmarkIdamaxMediumUnitaryInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| func BenchmarkIdamaxMediumPosInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| func BenchmarkIdamaxLargeUnitaryInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| func BenchmarkIdamaxLargePosInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| func BenchmarkIdamaxHugeUnitaryInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| func BenchmarkIdamaxHugePosInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| |
| benchmarkIdamax(b, n, x, incX) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDswap(b *testing.B, n int, x []float64, incX int, y []float64, incY int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Dswap(n, x, incX, y, incY) |
| } |
| } |
| |
| func BenchmarkDswapSmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapSmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapSmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapSmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDswapHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDswap(b, n, x, incX, y, incY) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDcopy(b *testing.B, n int, x []float64, incX int, y []float64, incY int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Dcopy(n, x, incX, y, incY) |
| } |
| } |
| |
| func BenchmarkDcopySmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopySmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopySmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopySmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| func BenchmarkDcopyHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| |
| benchmarkDcopy(b, n, x, incX, y, incY) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDaxpy(b *testing.B, n int, alpha float64, x []float64, incX int, y []float64, incY int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Daxpy(n, alpha, x, incX, y, incY) |
| } |
| } |
| |
| func BenchmarkDaxpySmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpySmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpySmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpySmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| func BenchmarkDaxpyHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| alpha := 2.4 |
| benchmarkDaxpy(b, n, alpha, x, incX, y, incY) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDrot(b *testing.B, n int, x []float64, incX int, y []float64, incY int, c, s float64) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Drot(n, x, incX, y, incY, c, s) |
| } |
| } |
| |
| func BenchmarkDrotSmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotSmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotSmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotSmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| func BenchmarkDrotHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| c := 0.89725836967 |
| s := 0.44150585279 |
| benchmarkDrot(b, n, x, incX, y, incY, c, s) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDrotmOffDia(b *testing.B, n int, x []float64, incX int, y []float64, incY int, p blas.DrotmParams) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Drotm(n, x, incX, y, incY, p) |
| } |
| } |
| |
| func BenchmarkDrotmOffDiaSmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaSmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaSmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaSmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmOffDiaHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{0, -0.625, 0.9375, 0}} |
| benchmarkDrotmOffDia(b, n, x, incX, y, incY, p) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDrotmDia(b *testing.B, n int, x []float64, incX int, y []float64, incY int, p blas.DrotmParams) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Drotm(n, x, incX, y, incY, p) |
| } |
| } |
| |
| func BenchmarkDrotmDiaSmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaSmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaSmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaSmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmDiaHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{5.0 / 12, 0, 0, 0.625}} |
| benchmarkDrotmDia(b, n, x, incX, y, incY, p) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDrotmResc(b *testing.B, n int, x []float64, incX int, y []float64, incY int, p blas.DrotmParams) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Drotm(n, x, incX, y, incY, p) |
| } |
| } |
| |
| func BenchmarkDrotmRescSmallBothUnitary(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescSmallIncUni(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescSmallUniInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescSmallBothInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescMediumBothUnitary(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescMediumIncUni(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescMediumUniInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescMediumBothInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescLargeBothUnitary(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescLargeIncUni(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescLargeUniInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescLargeBothInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescHugeBothUnitary(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescHugeIncUni(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := 1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescHugeUniInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| func BenchmarkDrotmRescHugeBothInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| incY := negInc1 |
| y := randomSlice(n, incY) |
| p := blas.DrotmParams{Flag: blas.OffDiagonal, H: [4]float64{4096, -3584, 1792, 4096}} |
| benchmarkDrotmResc(b, n, x, incX, y, incY, p) |
| } |
| |
| /* ------------------ */ |
| func benchmarkDscal(b *testing.B, n int, alpha float64, x []float64, incX int) { |
| b.ResetTimer() |
| for i := 0; i < b.N; i++ { |
| impl.Dscal(n, alpha, x, incX) |
| } |
| } |
| |
| func BenchmarkDscalSmallUnitaryInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| func BenchmarkDscalSmallPosInc(b *testing.B) { |
| n := SMALL_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| func BenchmarkDscalMediumUnitaryInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| func BenchmarkDscalMediumPosInc(b *testing.B) { |
| n := MEDIUM_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| func BenchmarkDscalLargeUnitaryInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| func BenchmarkDscalLargePosInc(b *testing.B) { |
| n := LARGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| func BenchmarkDscalHugeUnitaryInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := 1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| func BenchmarkDscalHugePosInc(b *testing.B) { |
| n := HUGE_SLICE |
| incX := posInc1 |
| x := randomSlice(n, incX) |
| alpha := 2.4 |
| benchmarkDscal(b, n, alpha, x, incX) |
| } |
| |
| /* ------------------ */ |