diff options
Diffstat (limited to 'gsl-1.9/cblas/test_spr2.c')
-rw-r--r-- | gsl-1.9/cblas/test_spr2.c | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/gsl-1.9/cblas/test_spr2.c b/gsl-1.9/cblas/test_spr2.c new file mode 100644 index 0000000..cf0c39b --- /dev/null +++ b/gsl-1.9/cblas/test_spr2.c @@ -0,0 +1,179 @@ +#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_spr2 (void) { +const double flteps = 1e-4, dbleps = 1e-6; + { + int order = 101; + int uplo = 121; + int N = 2; + float alpha = -1.0f; + float Ap[] = { 0.493f, -0.175f, -0.831f }; + float X[] = { -0.163f, 0.489f }; + int incX = -1; + float Y[] = { 0.154f, 0.769f }; + int incY = -1; + float Ap_expected[] = { -0.259082f, -0.124959f, -0.780796f }; + cblas_sspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], flteps, "sspr2(case 1442)"); + } + }; + }; + + + { + int order = 101; + int uplo = 122; + int N = 2; + float alpha = -1.0f; + float Ap[] = { 0.493f, -0.175f, -0.831f }; + float X[] = { -0.163f, 0.489f }; + int incX = -1; + float Y[] = { 0.154f, 0.769f }; + int incY = -1; + float Ap_expected[] = { -0.259082f, -0.124959f, -0.780796f }; + cblas_sspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], flteps, "sspr2(case 1443)"); + } + }; + }; + + + { + int order = 102; + int uplo = 121; + int N = 2; + float alpha = -1.0f; + float Ap[] = { 0.493f, -0.175f, -0.831f }; + float X[] = { -0.163f, 0.489f }; + int incX = -1; + float Y[] = { 0.154f, 0.769f }; + int incY = -1; + float Ap_expected[] = { -0.259082f, -0.124959f, -0.780796f }; + cblas_sspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], flteps, "sspr2(case 1444)"); + } + }; + }; + + + { + int order = 102; + int uplo = 122; + int N = 2; + float alpha = -1.0f; + float Ap[] = { 0.493f, -0.175f, -0.831f }; + float X[] = { -0.163f, 0.489f }; + int incX = -1; + float Y[] = { 0.154f, 0.769f }; + int incY = -1; + float Ap_expected[] = { -0.259082f, -0.124959f, -0.780796f }; + cblas_sspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], flteps, "sspr2(case 1445)"); + } + }; + }; + + + { + int order = 101; + int uplo = 121; + int N = 2; + double alpha = 0; + double Ap[] = { 0.938, 0.342, 0.74 }; + double X[] = { 0.216, -0.566 }; + int incX = -1; + double Y[] = { -0.845, 0.282 }; + int incY = -1; + double Ap_expected[] = { 0.938, 0.342, 0.74 }; + cblas_dspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], dbleps, "dspr2(case 1446)"); + } + }; + }; + + + { + int order = 101; + int uplo = 122; + int N = 2; + double alpha = 0; + double Ap[] = { 0.938, 0.342, 0.74 }; + double X[] = { 0.216, -0.566 }; + int incX = -1; + double Y[] = { -0.845, 0.282 }; + int incY = -1; + double Ap_expected[] = { 0.938, 0.342, 0.74 }; + cblas_dspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], dbleps, "dspr2(case 1447)"); + } + }; + }; + + + { + int order = 102; + int uplo = 121; + int N = 2; + double alpha = 0; + double Ap[] = { 0.938, 0.342, 0.74 }; + double X[] = { 0.216, -0.566 }; + int incX = -1; + double Y[] = { -0.845, 0.282 }; + int incY = -1; + double Ap_expected[] = { 0.938, 0.342, 0.74 }; + cblas_dspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], dbleps, "dspr2(case 1448)"); + } + }; + }; + + + { + int order = 102; + int uplo = 122; + int N = 2; + double alpha = 0; + double Ap[] = { 0.938, 0.342, 0.74 }; + double X[] = { 0.216, -0.566 }; + int incX = -1; + double Y[] = { -0.845, 0.282 }; + int incY = -1; + double Ap_expected[] = { 0.938, 0.342, 0.74 }; + cblas_dspr2(order, uplo, N, alpha, X, incX, Y, incY, Ap); + { + int i; + for (i = 0; i < 3; i++) { + gsl_test_rel(Ap[i], Ap_expected[i], dbleps, "dspr2(case 1449)"); + } + }; + }; + + +} |