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;
14 float alpha[2] = {-0.3f, 0.1f};
15 float beta[2] = {0.0f, 1.0f};
17 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
18 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
20 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
22 float y_expected[] = { -0.0627557f, -0.839323f, -0.0877262f, -0.169208f };
23 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
26 for (i = 0; i < 2; i++) {
27 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1118) real");
28 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1118) imag");
37 float alpha[2] = {-0.3f, 0.1f};
38 float beta[2] = {0.0f, 1.0f};
40 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
41 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
43 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
45 float y_expected[] = { -0.0627557f, -0.839323f, -0.0877262f, -0.169208f };
46 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
49 for (i = 0; i < 2; i++) {
50 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1119) real");
51 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1119) imag");
60 float alpha[2] = {-0.3f, 0.1f};
61 float beta[2] = {0.0f, 1.0f};
63 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
64 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
66 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
68 float y_expected[] = { -0.0037603f, -0.816761f, -0.0392456f, -0.121154f };
69 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
72 for (i = 0; i < 2; i++) {
73 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1120) real");
74 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1120) imag");
83 float alpha[2] = {-0.3f, 0.1f};
84 float beta[2] = {0.0f, 1.0f};
86 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
87 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
89 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
91 float y_expected[] = { -0.0037603f, -0.816761f, -0.0392456f, -0.121154f };
92 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
95 for (i = 0; i < 2; i++) {
96 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1121) real");
97 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1121) imag");
106 float alpha[2] = {-0.3f, 0.1f};
107 float beta[2] = {0.0f, 1.0f};
109 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
110 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
112 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
114 float y_expected[] = { -0.0627557f, -0.839323f, -0.0877262f, -0.169208f };
115 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
118 for (i = 0; i < 2; i++) {
119 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1122) real");
120 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1122) imag");
129 float alpha[2] = {-0.3f, 0.1f};
130 float beta[2] = {0.0f, 1.0f};
132 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
133 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
135 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
137 float y_expected[] = { -0.0627557f, -0.839323f, -0.0877262f, -0.169208f };
138 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
141 for (i = 0; i < 2; i++) {
142 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1123) real");
143 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1123) imag");
152 float alpha[2] = {-0.3f, 0.1f};
153 float beta[2] = {0.0f, 1.0f};
155 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
156 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
158 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
160 float y_expected[] = { -0.0037603f, -0.816761f, -0.0392456f, -0.121154f };
161 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
164 for (i = 0; i < 2; i++) {
165 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1124) real");
166 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1124) imag");
175 float alpha[2] = {-0.3f, 0.1f};
176 float beta[2] = {0.0f, 1.0f};
178 float A[] = { 0.339f, -0.102f, 0.908f, 0.097f, -0.808f, 0.236f };
179 float X[] = { 0.993f, -0.502f, -0.653f, 0.796f };
181 float Y[] = { -0.35f, 0.339f, -0.269f, -0.122f };
183 float y_expected[] = { -0.0037603f, -0.816761f, -0.0392456f, -0.121154f };
184 cblas_chpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
187 for (i = 0; i < 2; i++) {
188 gsl_test_rel(Y[2*i], y_expected[2*i], flteps, "chpmv(case 1125) real");
189 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], flteps, "chpmv(case 1125) imag");
198 double alpha[2] = {1, 0};
199 double beta[2] = {0, 1};
201 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
202 double X[] = { 0.67, -0.857, -0.613, -0.927 };
204 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
206 double y_expected[] = { 0.745218, -0.60699, -0.37301, -0.983688 };
207 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
210 for (i = 0; i < 2; i++) {
211 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1126) real");
212 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1126) imag");
221 double alpha[2] = {1, 0};
222 double beta[2] = {0, 1};
224 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
225 double X[] = { 0.67, -0.857, -0.613, -0.927 };
227 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
229 double y_expected[] = { 0.745218, -0.60699, -0.37301, -0.983688 };
230 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
233 for (i = 0; i < 2; i++) {
234 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1127) real");
235 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1127) imag");
244 double alpha[2] = {1, 0};
245 double beta[2] = {0, 1};
247 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
248 double X[] = { 0.67, -0.857, -0.613, -0.927 };
250 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
252 double y_expected[] = { 0.646956, -0.542012, -0.282168, -0.912668 };
253 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
256 for (i = 0; i < 2; i++) {
257 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1128) real");
258 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1128) imag");
267 double alpha[2] = {1, 0};
268 double beta[2] = {0, 1};
270 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
271 double X[] = { 0.67, -0.857, -0.613, -0.927 };
273 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
275 double y_expected[] = { 0.646956, -0.542012, -0.282168, -0.912668 };
276 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
279 for (i = 0; i < 2; i++) {
280 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1129) real");
281 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1129) imag");
290 double alpha[2] = {1, 0};
291 double beta[2] = {0, 1};
293 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
294 double X[] = { 0.67, -0.857, -0.613, -0.927 };
296 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
298 double y_expected[] = { 0.745218, -0.60699, -0.37301, -0.983688 };
299 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
302 for (i = 0; i < 2; i++) {
303 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1130) real");
304 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1130) imag");
313 double alpha[2] = {1, 0};
314 double beta[2] = {0, 1};
316 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
317 double X[] = { 0.67, -0.857, -0.613, -0.927 };
319 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
321 double y_expected[] = { 0.745218, -0.60699, -0.37301, -0.983688 };
322 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
325 for (i = 0; i < 2; i++) {
326 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1131) real");
327 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1131) imag");
336 double alpha[2] = {1, 0};
337 double beta[2] = {0, 1};
339 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
340 double X[] = { 0.67, -0.857, -0.613, -0.927 };
342 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
344 double y_expected[] = { 0.646956, -0.542012, -0.282168, -0.912668 };
345 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
348 for (i = 0; i < 2; i++) {
349 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1132) real");
350 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1132) imag");
359 double alpha[2] = {1, 0};
360 double beta[2] = {0, 1};
362 double A[] = { 0.543, -0.737, 0.281, -0.053, -0.098, -0.826 };
363 double X[] = { 0.67, -0.857, -0.613, -0.927 };
365 double Y[] = { -0.398, -0.934, -0.204, 0.183 };
367 double y_expected[] = { 0.646956, -0.542012, -0.282168, -0.912668 };
368 cblas_zhpmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
371 for (i = 0; i < 2; i++) {
372 gsl_test_rel(Y[2*i], y_expected[2*i], dbleps, "zhpmv(case 1133) real");
373 gsl_test_rel(Y[2*i+1], y_expected[2*i+1], dbleps, "zhpmv(case 1133) imag");