1 #include <gsl/gsl_test.h>
2 #include <gsl/gsl_ieee_utils.h>
3 #include <gsl/gsl_math.h>
4 #include <gsl/gsl_cblas.h>
10 const double flteps = 1e-4, dbleps = 1e-6;
19 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
20 float X[] = { -0.542f, 0.606f, 0.727f };
22 float Y[] = { 0.755f, 0.268f, -0.99f };
24 float y_expected[] = { -0.236236f, -0.215242f, 0.266757f };
25 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
28 for (i = 0; i < 3; i++) {
29 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1102)");
43 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
44 float X[] = { -0.542f, 0.606f, 0.727f };
46 float Y[] = { 0.755f, 0.268f, -0.99f };
48 float y_expected[] = { -0.236236f, -0.215242f, 0.266757f };
49 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
52 for (i = 0; i < 3; i++) {
53 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1103)");
67 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
68 float X[] = { -0.542f, 0.606f, 0.727f };
70 float Y[] = { 0.755f, 0.268f, -0.99f };
72 float y_expected[] = { 0.187592f, -0.01232f, -0.040176f };
73 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
76 for (i = 0; i < 3; i++) {
77 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1104)");
91 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
92 float X[] = { -0.542f, 0.606f, 0.727f };
94 float Y[] = { 0.755f, 0.268f, -0.99f };
96 float y_expected[] = { 0.187592f, -0.01232f, -0.040176f };
97 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
100 for (i = 0; i < 3; i++) {
101 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1105)");
115 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
116 float X[] = { -0.542f, 0.606f, 0.727f };
118 float Y[] = { 0.755f, 0.268f, -0.99f };
120 float y_expected[] = { 0.187592f, -0.01232f, -0.040176f };
121 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
124 for (i = 0; i < 3; i++) {
125 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1106)");
139 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
140 float X[] = { -0.542f, 0.606f, 0.727f };
142 float Y[] = { 0.755f, 0.268f, -0.99f };
144 float y_expected[] = { 0.187592f, -0.01232f, -0.040176f };
145 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
148 for (i = 0; i < 3; i++) {
149 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1107)");
163 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
164 float X[] = { -0.542f, 0.606f, 0.727f };
166 float Y[] = { 0.755f, 0.268f, -0.99f };
168 float y_expected[] = { -0.236236f, -0.215242f, 0.266757f };
169 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
172 for (i = 0; i < 3; i++) {
173 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1108)");
187 float A[] = { 0.627f, -0.312f, 0.031f, 0.308f, 0.323f, -0.578f, 0.797f, 0.545f, -0.476f };
188 float X[] = { -0.542f, 0.606f, 0.727f };
190 float Y[] = { 0.755f, 0.268f, -0.99f };
192 float y_expected[] = { -0.236236f, -0.215242f, 0.266757f };
193 cblas_ssbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
196 for (i = 0; i < 3; i++) {
197 gsl_test_rel(Y[i], y_expected[i], flteps, "ssbmv(case 1109)");
211 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
212 double X[] = { 0.166, 0.808, 0.723 };
214 double Y[] = { 0.9, 0.99, -0.578 };
216 double y_expected[] = { 0.9, 0.99, -0.578 };
217 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
220 for (i = 0; i < 3; i++) {
221 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1110)");
235 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
236 double X[] = { 0.166, 0.808, 0.723 };
238 double Y[] = { 0.9, 0.99, -0.578 };
240 double y_expected[] = { 0.9, 0.99, -0.578 };
241 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
244 for (i = 0; i < 3; i++) {
245 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1111)");
259 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
260 double X[] = { 0.166, 0.808, 0.723 };
262 double Y[] = { 0.9, 0.99, -0.578 };
264 double y_expected[] = { 0.9, 0.99, -0.578 };
265 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
268 for (i = 0; i < 3; i++) {
269 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1112)");
283 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
284 double X[] = { 0.166, 0.808, 0.723 };
286 double Y[] = { 0.9, 0.99, -0.578 };
288 double y_expected[] = { 0.9, 0.99, -0.578 };
289 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
292 for (i = 0; i < 3; i++) {
293 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1113)");
307 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
308 double X[] = { 0.166, 0.808, 0.723 };
310 double Y[] = { 0.9, 0.99, -0.578 };
312 double y_expected[] = { 0.9, 0.99, -0.578 };
313 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
316 for (i = 0; i < 3; i++) {
317 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1114)");
331 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
332 double X[] = { 0.166, 0.808, 0.723 };
334 double Y[] = { 0.9, 0.99, -0.578 };
336 double y_expected[] = { 0.9, 0.99, -0.578 };
337 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
340 for (i = 0; i < 3; i++) {
341 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1115)");
355 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
356 double X[] = { 0.166, 0.808, 0.723 };
358 double Y[] = { 0.9, 0.99, -0.578 };
360 double y_expected[] = { 0.9, 0.99, -0.578 };
361 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
364 for (i = 0; i < 3; i++) {
365 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1116)");
379 double A[] = { 0.83, -0.568, -0.888, 0.281, -0.779, -0.148, 0.138, 0.053, -0.757 };
380 double X[] = { 0.166, 0.808, 0.723 };
382 double Y[] = { 0.9, 0.99, -0.578 };
384 double y_expected[] = { 0.9, 0.99, -0.578 };
385 cblas_dsbmv(order, uplo, N, k, alpha, A, lda, X, incX, beta, Y, incY);
388 for (i = 0; i < 3; i++) {
389 gsl_test_rel(Y[i], y_expected[i], dbleps, "dsbmv(case 1117)");