X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=vendor%2Fgonum.org%2Fv1%2Fgonum%2Fblas%2Ftestblas%2Fzhemv.go;fp=vendor%2Fgonum.org%2Fv1%2Fgonum%2Fblas%2Ftestblas%2Fzhemv.go;h=0000000000000000000000000000000000000000;hp=f970f41aa9bbe7efae20882455e1c93e1c52b9e1;hb=54373c1a3efe0e373ec1605840a4363e4b246c46;hpb=ee01d543fdfe1fd0a4d548965c66f7923ea7b062 diff --git a/vendor/gonum.org/v1/gonum/blas/testblas/zhemv.go b/vendor/gonum.org/v1/gonum/blas/testblas/zhemv.go deleted file mode 100644 index f970f41a..00000000 --- a/vendor/gonum.org/v1/gonum/blas/testblas/zhemv.go +++ /dev/null @@ -1,276 +0,0 @@ -// Copyright ©2017 The Gonum Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package testblas - -import ( - "testing" - - "gonum.org/v1/gonum/blas" -) - -var zhemvTestCases = []struct { - uplo blas.Uplo - alpha complex128 - a []complex128 - x []complex128 - beta complex128 - y []complex128 - - want []complex128 - wantXNeg []complex128 - wantYNeg []complex128 - wantXYNeg []complex128 -}{ - { - uplo: blas.Upper, - alpha: 6 + 2i, - beta: -6 - 7i, - }, - { - uplo: blas.Lower, - alpha: 6 + 2i, - beta: -6 - 7i, - }, - { - uplo: blas.Upper, - alpha: 6 + 2i, - a: []complex128{ - 7, 8 + 4i, -9 - 6i, -9 + 3i, - znan, -3, -10 - 6i, 0 + 3i, - znan, znan, 6, 2 + 8i, - znan, znan, znan, -4, - }, - x: []complex128{ - -4 + 0i, - -2 - 5i, - 8 + 0i, - 6 - 1i, - }, - beta: -6 - 7i, - y: []complex128{ - 1 - 5i, - -2 - 5i, - 0 - 4i, - 7 + 7i, - }, - want: []complex128{ - -785 - 685i, - -643 - 156i, - 776 + 692i, - 169 - 317i, - }, - wantXNeg: []complex128{ - 599 + 703i, - 1 + 172i, - -978 - 86i, - -449 - 423i, - }, - wantYNeg: []complex128{ - 121 - 203i, - 781 + 712i, - -648 - 176i, - -737 - 799i, - }, - wantXYNeg: []complex128{ - -497 - 309i, - -973 - 66i, - -4 + 152i, - 647 + 589i, - }, - }, - { - uplo: blas.Lower, - alpha: 6 + 2i, - a: []complex128{ - 7, znan, znan, znan, - 8 - 4i, -3, znan, znan, - -9 + 6i, -10 + 6i, 6, znan, - -9 - 3i, 0 - 3i, 2 - 8i, -4, - }, - x: []complex128{ - -4 + 0i, - -2 - 5i, - 8 + 0i, - 6 - 1i, - }, - beta: -6 - 7i, - y: []complex128{ - 1 - 5i, - -2 - 5i, - 0 - 4i, - 7 + 7i, - }, - want: []complex128{ - -785 - 685i, - -643 - 156i, - 776 + 692i, - 169 - 317i, - }, - wantXNeg: []complex128{ - 599 + 703i, - 1 + 172i, - -978 - 86i, - -449 - 423i, - }, - wantYNeg: []complex128{ - 121 - 203i, - 781 + 712i, - -648 - 176i, - -737 - 799i, - }, - wantXYNeg: []complex128{ - -497 - 309i, - -973 - 66i, - -4 + 152i, - 647 + 589i, - }, - }, - { - uplo: blas.Upper, - alpha: 0, - a: []complex128{ - 7, 8 + 4i, -9 - 6i, -9 + 3i, - znan, -3, -10 - 6i, 0 + 3i, - znan, znan, 6, 2 + 8i, - znan, znan, znan, -4, - }, - x: []complex128{ - -4 + 0i, - -2 - 5i, - 8 + 0i, - 6 - 1i, - }, - beta: -6 - 7i, - y: []complex128{ - 1 - 5i, - -2 - 5i, - 0 - 4i, - 7 + 7i, - }, - want: []complex128{ - -41 + 23i, - -23 + 44i, - -28 + 24i, - 7 - 91i, - }, - wantXNeg: []complex128{ - -41 + 23i, - -23 + 44i, - -28 + 24i, - 7 - 91i, - }, - wantYNeg: []complex128{ - -41 + 23i, - -23 + 44i, - -28 + 24i, - 7 - 91i, - }, - wantXYNeg: []complex128{ - -41 + 23i, - -23 + 44i, - -28 + 24i, - 7 - 91i, - }, - }, - { - uplo: blas.Upper, - alpha: 6 + 2i, - a: []complex128{ - 7, 8 + 4i, -9 - 6i, -9 + 3i, - znan, -3, -10 - 6i, 0 + 3i, - znan, znan, 6, 2 + 8i, - znan, znan, znan, -4, - }, - x: []complex128{ - -4 + 0i, - -2 - 5i, - 8 + 0i, - 6 - 1i, - }, - beta: 0, - y: []complex128{ - 1 - 5i, - -2 - 5i, - 0 - 4i, - 7 + 7i, - }, - want: []complex128{ - -744 - 708i, - -620 - 200i, - 804 + 668i, - 162 - 226i, - }, - wantXNeg: []complex128{ - 640 + 680i, - 24 + 128i, - -950 - 110i, - -456 - 332i, - }, - wantYNeg: []complex128{ - 162 - 226i, - 804 + 668i, - -620 - 200i, - -744 - 708i, - }, - wantXYNeg: []complex128{ - -456 - 332i, - -950 - 110i, - 24 + 128i, - 640 + 680i, - }, - }, -} - -type Zhemver interface { - Zhemv(uplo blas.Uplo, n int, alpha complex128, a []complex128, lda int, x []complex128, incX int, beta complex128, y []complex128, incY int) -} - -func ZhemvTest(t *testing.T, impl Zhemver) { - for tc, test := range zhemvTestCases { - n := len(test.x) - for _, incX := range []int{-11, -2, -1, 1, 2, 7} { - for _, incY := range []int{-11, -2, -1, 1, 2, 7} { - for _, lda := range []int{max(1, n), n + 11} { - alpha := test.alpha - beta := test.beta - - a := makeZGeneral(test.a, n, n, lda) - aCopy := make([]complex128, len(a)) - copy(aCopy, a) - - x := makeZVector(test.x, incX) - xCopy := make([]complex128, len(x)) - copy(xCopy, x) - - y := makeZVector(test.y, incY) - - impl.Zhemv(test.uplo, n, alpha, a, lda, x, incX, beta, y, incY) - - if !zsame(x, xCopy) { - t.Errorf("Case %v (incX=%v,incY=%v,lda=%v): unexpected modification of x", tc, incX, incY, lda) - } - if !zsame(a, aCopy) { - t.Errorf("Case %v (incX=%v,incY=%v,lda=%v): unexpected modification of A", tc, incX, incY, lda) - } - - var want []complex128 - switch { - case incX > 0 && incY > 0: - want = makeZVector(test.want, incY) - case incX < 0 && incY > 0: - want = makeZVector(test.wantXNeg, incY) - case incX > 0 && incY < 0: - want = makeZVector(test.wantYNeg, incY) - default: - want = makeZVector(test.wantXYNeg, incY) - } - if !zsame(y, want) { - t.Errorf("Case %v (incX=%v,incY=%v,lda=%v): unexpected result\nwant %v\ngot %v", tc, incX, incY, lda, want, y) - } - } - } - } - } -}