diff options
Diffstat (limited to 'gsl-1.9/cblas/test_hpr2.c')
-rw-r--r-- | gsl-1.9/cblas/test_hpr2.c | 187 |
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"); + }; + }; + }; + + +} |