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;
17 float alpha[2] = {-1.0f, 0.0f};
19 float A[] = { 0.178f, 0.545f, -0.491f, 0.979f };
21 float B[] = { -0.665f, -0.531f, -0.4f, 0.227f };
23 float C[] = { 0.115f, -0.193f };
25 float C_expected[] = { -0.056236f, 0.0f };
26 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
29 for (i = 0; i < 1; i++) {
30 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1646) real");
31 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1646) imag");
43 float alpha[2] = {-1.0f, 0.0f};
45 float A[] = { -0.808f, 0.447f, 0.145f, -0.226f };
47 float B[] = { -0.413f, 0.904f, -0.585f, 0.717f };
49 float C[] = { -0.725f, -0.244f };
51 float C_expected[] = { -0.76435f, 0.0f };
52 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
55 for (i = 0; i < 1; i++) {
56 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1647) real");
57 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1647) imag");
69 float alpha[2] = {-1.0f, 0.0f};
71 float A[] = { 0.337f, -0.737f, -0.993f, 0.69f };
73 float B[] = { -0.39f, -0.836f, -0.32f, 0.368f };
75 float C[] = { 0.844f, -0.763f };
77 float C_expected[] = { -2.36596f, 0.0f };
78 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
81 for (i = 0; i < 1; i++) {
82 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1648) real");
83 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1648) imag");
95 float alpha[2] = {-1.0f, 0.0f};
97 float A[] = { 0.386f, -0.465f, 0.719f, -0.378f };
99 float B[] = { 0.099f, -0.879f, 0.864f, 0.141f };
101 float C[] = { -0.599f, -0.47f };
103 float C_expected[] = { -1.85003f, 0.0f };
104 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
107 for (i = 0; i < 1; i++) {
108 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1649) real");
109 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1649) imag");
121 float alpha[2] = {0.0f, 1.0f};
123 float A[] = { 0.128f, 0.431f, -0.26f, 0.75f };
125 float B[] = { 0.276f, 0.058f, 0.904f, -0.116f };
127 float C[] = { 0.914f, -0.262f };
129 float C_expected[] = { 0.604744f, 0.0f };
130 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
133 for (i = 0; i < 1; i++) {
134 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1650) real");
135 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1650) imag");
147 float alpha[2] = {0.0f, 1.0f};
149 float A[] = { 0.72f, 0.783f, -0.737f, 0.375f };
151 float B[] = { 0.531f, 0.167f, 0.203f, -0.221f };
153 float C[] = { 0.618f, 0.392f };
155 float C_expected[] = { -0.200438f, 0.0f };
156 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
159 for (i = 0; i < 1; i++) {
160 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1651) real");
161 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1651) imag");
173 float alpha[2] = {0.0f, 1.0f};
175 float A[] = { -0.372f, -0.735f, -0.711f, 0.051f };
177 float B[] = { 0.257f, 0.097f, 0.338f, -0.484f };
179 float C[] = { -0.142f, -0.197f };
181 float C_expected[] = { -0.817394f, 0.0f };
182 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
185 for (i = 0; i < 1; i++) {
186 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1652) real");
187 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1652) imag");
199 float alpha[2] = {0.0f, 1.0f};
201 float A[] = { 0.1f, -0.878f, 0.28f, -0.381f };
203 float B[] = { -0.208f, 0.309f, -0.276f, 0.123f };
205 float C[] = { 0.483f, -0.541f };
207 float C_expected[] = { -0.03812f, 0.0f };
208 cblas_cher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
211 for (i = 0; i < 1; i++) {
212 gsl_test_rel(C[2*i], C_expected[2*i], flteps, "cher2k(case 1653) real");
213 gsl_test_rel(C[2*i+1], C_expected[2*i+1], flteps, "cher2k(case 1653) imag");
225 double alpha[2] = {1, 0};
227 double A[] = { 0.515, -0.034, 0.067, 0.66 };
229 double B[] = { 0.408, -0.85, -0.945, -0.799 };
231 double C[] = { -0.918, -0.985 };
233 double C_expected[] = { -1.62127, 0.0 };
234 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
237 for (i = 0; i < 1; i++) {
238 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1654) real");
239 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1654) imag");
251 double alpha[2] = {1, 0};
253 double A[] = { -0.009, 0.495, -0.008, -0.973 };
255 double B[] = { -0.239, -0.373, -0.032, -0.539 };
257 double C[] = { 0.443, -0.245 };
259 double C_expected[] = { 1.127438, 0.0 };
260 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
263 for (i = 0; i < 1; i++) {
264 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1655) real");
265 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1655) imag");
277 double alpha[2] = {1, 0};
279 double A[] = { 0.531, 0.721, -0.848, 0.826 };
281 double B[] = { -0.711, -0.2, -0.92, -0.676 };
283 double C[] = { -0.447, 0.701 };
285 double C_expected[] = { -1.046914, 0.0 };
286 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
289 for (i = 0; i < 1; i++) {
290 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1656) real");
291 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1656) imag");
303 double alpha[2] = {1, 0};
305 double A[] = { 0.68, 0.079, 0.837, -0.814 };
307 double B[] = { -0.986, 0.024, 0.584, -0.248 };
309 double C[] = { 0.477, -0.551 };
311 double C_expected[] = { 0.521192, 0.0 };
312 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
315 for (i = 0; i < 1; i++) {
316 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1657) real");
317 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1657) imag");
329 double alpha[2] = {-1, 0};
331 double A[] = { -0.63, 0.787, 0.426, -0.568 };
333 double B[] = { -0.228, 0.302, 0.83, 0.023 };
335 double C[] = { 0.354, -0.85 };
337 double C_expected[] = { -1.40826, 0.0 };
338 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
341 for (i = 0; i < 1; i++) {
342 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1658) real");
343 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1658) imag");
355 double alpha[2] = {-1, 0};
357 double A[] = { 0.224, -0.191, 0.46, 0.464 };
359 double B[] = { -0.815, 0.634, 0.066, -0.873 };
361 double C[] = { -0.49, -0.606 };
363 double C_expected[] = { 1.307732, 0.0 };
364 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
367 for (i = 0; i < 1; i++) {
368 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1659) real");
369 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1659) imag");
381 double alpha[2] = {-1, 0};
383 double A[] = { 0.943, 0.075, 0.15, -0.141 };
385 double B[] = { -0.962, 0.422, -0.592, -0.789 };
387 double C[] = { 0.728, 0.601 };
389 double C_expected[] = { 1.778934, 0.0 };
390 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
393 for (i = 0; i < 1; i++) {
394 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1660) real");
395 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1660) imag");
407 double alpha[2] = {-1, 0};
409 double A[] = { -0.93, -0.386, 0.565, 0.141 };
411 double B[] = { -0.801, 0.022, 0.558, -0.932 };
413 double C[] = { 0.068, 0.501 };
415 double C_expected[] = { -1.833792, 0.0 };
416 cblas_zher2k(order, uplo, trans, N, K, alpha, A, lda, B, ldb, beta, C, ldc);
419 for (i = 0; i < 1; i++) {
420 gsl_test_rel(C[2*i], C_expected[2*i], dbleps, "zher2k(case 1661) real");
421 gsl_test_rel(C[2*i+1], C_expected[2*i+1], dbleps, "zher2k(case 1661) imag");