summaryrefslogtreecommitdiff
path: root/gsl-1.9/cblas/test_hpr2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gsl-1.9/cblas/test_hpr2.c')
-rw-r--r--gsl-1.9/cblas/test_hpr2.c187
1 files changed, 187 insertions, 0 deletions
diff --git a/gsl-1.9/cblas/test_hpr2.c b/gsl-1.9/cblas/test_hpr2.c
new file mode 100644
index 0000000..7fb7dee
--- /dev/null
+++ b/gsl-1.9/cblas/test_hpr2.c
@@ -0,0 +1,187 @@
+#include <gsl/gsl_test.h>
+#include <gsl/gsl_ieee_utils.h>
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_cblas.h>
+
+#include "tests.h"
+
+void
+test_hpr2 (void) {
+const double flteps = 1e-4, dbleps = 1e-6;
+ {
+ int order = 101;
+ int uplo = 121;
+ int N = 1;
+ float alpha[2] = {-1.0f, 0.0f};
+ float Ap[] = { 0.159f, -0.13f };
+ float X[] = { 0.854f, 0.851f };
+ int incX = -1;
+ float Y[] = { 0.526f, -0.267f };
+ int incY = -1;
+ float Ap_expected[] = { -0.284974f, 0.0f };
+ cblas_chpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr2(case 1458) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr2(case 1458) imag");
+ };
+ };
+ };
+
+
+ {
+ int order = 101;
+ int uplo = 122;
+ int N = 1;
+ float alpha[2] = {-1.0f, 0.0f};
+ float Ap[] = { 0.159f, -0.13f };
+ float X[] = { 0.854f, 0.851f };
+ int incX = -1;
+ float Y[] = { 0.526f, -0.267f };
+ int incY = -1;
+ float Ap_expected[] = { -0.284974f, 0.0f };
+ cblas_chpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr2(case 1459) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr2(case 1459) imag");
+ };
+ };
+ };
+
+
+ {
+ int order = 102;
+ int uplo = 121;
+ int N = 1;
+ float alpha[2] = {-1.0f, 0.0f};
+ float Ap[] = { 0.159f, -0.13f };
+ float X[] = { 0.854f, 0.851f };
+ int incX = -1;
+ float Y[] = { 0.526f, -0.267f };
+ int incY = -1;
+ float Ap_expected[] = { -0.284974f, 0.0f };
+ cblas_chpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr2(case 1460) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr2(case 1460) imag");
+ };
+ };
+ };
+
+
+ {
+ int order = 102;
+ int uplo = 122;
+ int N = 1;
+ float alpha[2] = {-1.0f, 0.0f};
+ float Ap[] = { 0.159f, -0.13f };
+ float X[] = { 0.854f, 0.851f };
+ int incX = -1;
+ float Y[] = { 0.526f, -0.267f };
+ int incY = -1;
+ float Ap_expected[] = { -0.284974f, 0.0f };
+ cblas_chpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr2(case 1461) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr2(case 1461) imag");
+ };
+ };
+ };
+
+
+ {
+ int order = 101;
+ int uplo = 121;
+ int N = 1;
+ double alpha[2] = {-0.3, 0.1};
+ double Ap[] = { 0.772, 0.997 };
+ double X[] = { -0.173, -0.839 };
+ int incX = -1;
+ double Y[] = { 0.941, -0.422 };
+ int incY = -1;
+ double Ap_expected[] = { 0.829742, 0.0 };
+ cblas_zhpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr2(case 1462) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr2(case 1462) imag");
+ };
+ };
+ };
+
+
+ {
+ int order = 101;
+ int uplo = 122;
+ int N = 1;
+ double alpha[2] = {-0.3, 0.1};
+ double Ap[] = { 0.772, 0.997 };
+ double X[] = { -0.173, -0.839 };
+ int incX = -1;
+ double Y[] = { 0.941, -0.422 };
+ int incY = -1;
+ double Ap_expected[] = { 0.829742, 0.0 };
+ cblas_zhpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr2(case 1463) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr2(case 1463) imag");
+ };
+ };
+ };
+
+
+ {
+ int order = 102;
+ int uplo = 121;
+ int N = 1;
+ double alpha[2] = {-0.3, 0.1};
+ double Ap[] = { 0.772, 0.997 };
+ double X[] = { -0.173, -0.839 };
+ int incX = -1;
+ double Y[] = { 0.941, -0.422 };
+ int incY = -1;
+ double Ap_expected[] = { 0.829742, 0.0 };
+ cblas_zhpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr2(case 1464) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr2(case 1464) imag");
+ };
+ };
+ };
+
+
+ {
+ int order = 102;
+ int uplo = 122;
+ int N = 1;
+ double alpha[2] = {-0.3, 0.1};
+ double Ap[] = { 0.772, 0.997 };
+ double X[] = { -0.173, -0.839 };
+ int incX = -1;
+ double Y[] = { 0.941, -0.422 };
+ int incY = -1;
+ double Ap_expected[] = { 0.829742, 0.0 };
+ cblas_zhpr2(order, uplo, N, alpha, X, incX, Y, incY, Ap);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr2(case 1465) real");
+ gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr2(case 1465) imag");
+ };
+ };
+ };
+
+
+}