6 "gonum.org/v1/gonum/blas"
7 "gonum.org/v1/gonum/floats"
10 type Dsyker interface {
11 Dsyrk(ul blas.Uplo, tA blas.Transpose, n, k int, alpha float64, a []float64, lda int, beta float64, c []float64, ldc int)
14 func DsyrkTest(t *testing.T, blasser Dsyker) {
15 for i, test := range []struct {
163 aFlat := flatten(test.a)
164 cFlat := flatten(test.c)
165 ansFlat := flatten(test.ans)
166 blasser.Dsyrk(test.ul, test.tA, test.n, test.k, test.alpha, aFlat, len(test.a[0]), test.beta, cFlat, len(test.c[0]))
167 if !floats.EqualApprox(ansFlat, cFlat, 1e-14) {
168 t.Errorf("Case %v. Want %v, got %v.", i, ansFlat, cFlat)