diff options
Diffstat (limited to 'gsl-1.9/cblas/test_her2.c')
-rw-r--r-- | gsl-1.9/cblas/test_her2.c | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/gsl-1.9/cblas/test_her2.c b/gsl-1.9/cblas/test_her2.c new file mode 100644 index 0000000..b1a0fae --- /dev/null +++ b/gsl-1.9/cblas/test_her2.c @@ -0,0 +1,195 @@ +#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_her2 (void) { +const double flteps = 1e-4, dbleps = 1e-6; + { + int order = 101; + int uplo = 121; + int N = 1; + int lda = 1; + float alpha[2] = {-1.0f, 0.0f}; + float A[] = { -0.821f, 0.954f }; + float X[] = { 0.532f, 0.802f }; + int incX = -1; + float Y[] = { 0.016f, -0.334f }; + int incY = -1; + float A_expected[] = { -0.302288f, 0.0f }; + cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1450) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1450) imag"); + }; + }; + }; + + + { + int order = 101; + int uplo = 122; + int N = 1; + int lda = 1; + float alpha[2] = {-1.0f, 0.0f}; + float A[] = { -0.821f, 0.954f }; + float X[] = { 0.532f, 0.802f }; + int incX = -1; + float Y[] = { 0.016f, -0.334f }; + int incY = -1; + float A_expected[] = { -0.302288f, 0.0f }; + cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1451) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1451) imag"); + }; + }; + }; + + + { + int order = 102; + int uplo = 121; + int N = 1; + int lda = 1; + float alpha[2] = {-1.0f, 0.0f}; + float A[] = { -0.821f, 0.954f }; + float X[] = { 0.532f, 0.802f }; + int incX = -1; + float Y[] = { 0.016f, -0.334f }; + int incY = -1; + float A_expected[] = { -0.302288f, 0.0f }; + cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1452) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1452) imag"); + }; + }; + }; + + + { + int order = 102; + int uplo = 122; + int N = 1; + int lda = 1; + float alpha[2] = {-1.0f, 0.0f}; + float A[] = { -0.821f, 0.954f }; + float X[] = { 0.532f, 0.802f }; + int incX = -1; + float Y[] = { 0.016f, -0.334f }; + int incY = -1; + float A_expected[] = { -0.302288f, 0.0f }; + cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1453) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1453) imag"); + }; + }; + }; + + + { + int order = 101; + int uplo = 121; + int N = 1; + int lda = 1; + double alpha[2] = {-0.3, 0.1}; + double A[] = { -0.334, 0.286 }; + double X[] = { -0.14, -0.135 }; + int incX = -1; + double Y[] = { 0.455, 0.358 }; + int incY = -1; + double A_expected[] = { -0.264521, 0.0 }; + cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1454) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1454) imag"); + }; + }; + }; + + + { + int order = 101; + int uplo = 122; + int N = 1; + int lda = 1; + double alpha[2] = {-0.3, 0.1}; + double A[] = { -0.334, 0.286 }; + double X[] = { -0.14, -0.135 }; + int incX = -1; + double Y[] = { 0.455, 0.358 }; + int incY = -1; + double A_expected[] = { -0.264521, 0.0 }; + cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1455) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1455) imag"); + }; + }; + }; + + + { + int order = 102; + int uplo = 121; + int N = 1; + int lda = 1; + double alpha[2] = {-0.3, 0.1}; + double A[] = { -0.334, 0.286 }; + double X[] = { -0.14, -0.135 }; + int incX = -1; + double Y[] = { 0.455, 0.358 }; + int incY = -1; + double A_expected[] = { -0.264521, 0.0 }; + cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1456) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1456) imag"); + }; + }; + }; + + + { + int order = 102; + int uplo = 122; + int N = 1; + int lda = 1; + double alpha[2] = {-0.3, 0.1}; + double A[] = { -0.334, 0.286 }; + double X[] = { -0.14, -0.135 }; + int incX = -1; + double Y[] = { 0.455, 0.358 }; + int incY = -1; + double A_expected[] = { -0.264521, 0.0 }; + cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1457) real"); + gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1457) imag"); + }; + }; + }; + + +} |