summaryrefslogtreecommitdiff
path: root/gsl-1.9/cblas/test_axpy.c
diff options
context:
space:
mode:
Diffstat (limited to 'gsl-1.9/cblas/test_axpy.c')
-rw-r--r--gsl-1.9/cblas/test_axpy.c233
1 files changed, 233 insertions, 0 deletions
diff --git a/gsl-1.9/cblas/test_axpy.c b/gsl-1.9/cblas/test_axpy.c
new file mode 100644
index 0000000..9f30cd4
--- /dev/null
+++ b/gsl-1.9/cblas/test_axpy.c
@@ -0,0 +1,233 @@
+#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_axpy (void) {
+const double flteps = 1e-4, dbleps = 1e-6;
+ {
+ int N = 1;
+ float alpha = 0.0f;
+ float X[] = { 0.018f };
+ int incX = 1;
+ float Y[] = { -0.417f };
+ int incY = -1;
+ float expected[] = { -0.417f };
+ cblas_saxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[i], expected[i], flteps, "saxpy(case 64)");
+ }
+ };
+ };
+
+
+ {
+ int N = 1;
+ double alpha = 0;
+ double X[] = { 0.071 };
+ int incX = 1;
+ double Y[] = { -0.888 };
+ int incY = -1;
+ double expected[] = { -0.888 };
+ cblas_daxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[i], expected[i], dbleps, "daxpy(case 65)");
+ }
+ };
+ };
+
+
+ {
+ int N = 1;
+ float alpha[2] = {1.0f, 0.0f};
+ float X[] = { -0.542f, -0.362f };
+ int incX = 1;
+ float Y[] = { -0.459f, -0.433f };
+ int incY = -1;
+ float expected[] = { -1.001f, -0.795f };
+ cblas_caxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[2*i], expected[2*i], flteps, "caxpy(case 66) real");
+ gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "caxpy(case 66) imag");
+ };
+ };
+ };
+
+
+ {
+ int N = 1;
+ double alpha[2] = {-1, 0};
+ double X[] = { 0.003, -0.514 };
+ int incX = 1;
+ double Y[] = { -0.529, 0.743 };
+ int incY = -1;
+ double expected[] = { -0.532, 1.257 };
+ cblas_zaxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zaxpy(case 67) real");
+ gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zaxpy(case 67) imag");
+ };
+ };
+ };
+
+
+ {
+ int N = 1;
+ float alpha = 0.1f;
+ float X[] = { 0.771f };
+ int incX = -1;
+ float Y[] = { 0.507f };
+ int incY = 1;
+ float expected[] = { 0.5841f };
+ cblas_saxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[i], expected[i], flteps, "saxpy(case 68)");
+ }
+ };
+ };
+
+
+ {
+ int N = 1;
+ double alpha = -0.3;
+ double X[] = { 0.029 };
+ int incX = -1;
+ double Y[] = { -0.992 };
+ int incY = 1;
+ double expected[] = { -1.0007 };
+ cblas_daxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[i], expected[i], dbleps, "daxpy(case 69)");
+ }
+ };
+ };
+
+
+ {
+ int N = 1;
+ float alpha[2] = {-0.3f, 0.1f};
+ float X[] = { 0.194f, -0.959f };
+ int incX = -1;
+ float Y[] = { 0.096f, 0.032f };
+ int incY = 1;
+ float expected[] = { 0.1337f, 0.3391f };
+ cblas_caxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[2*i], expected[2*i], flteps, "caxpy(case 70) real");
+ gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "caxpy(case 70) imag");
+ };
+ };
+ };
+
+
+ {
+ int N = 1;
+ double alpha[2] = {0, 1};
+ double X[] = { 0.776, -0.671 };
+ int incX = -1;
+ double Y[] = { 0.39, 0.404 };
+ int incY = 1;
+ double expected[] = { 1.061, 1.18 };
+ cblas_zaxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zaxpy(case 71) real");
+ gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zaxpy(case 71) imag");
+ };
+ };
+ };
+
+
+ {
+ int N = 1;
+ float alpha = 1.0f;
+ float X[] = { 0.647f };
+ int incX = -1;
+ float Y[] = { 0.016f };
+ int incY = -1;
+ float expected[] = { 0.663f };
+ cblas_saxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[i], expected[i], flteps, "saxpy(case 72)");
+ }
+ };
+ };
+
+
+ {
+ int N = 1;
+ double alpha = -1;
+ double X[] = { -0.558 };
+ int incX = -1;
+ double Y[] = { 0.308 };
+ int incY = -1;
+ double expected[] = { 0.866 };
+ cblas_daxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[i], expected[i], dbleps, "daxpy(case 73)");
+ }
+ };
+ };
+
+
+ {
+ int N = 1;
+ float alpha[2] = {-0.3f, 0.1f};
+ float X[] = { 0.899f, -0.624f };
+ int incX = -1;
+ float Y[] = { 0.155f, -0.33f };
+ int incY = -1;
+ float expected[] = { -0.0523f, -0.0529f };
+ cblas_caxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[2*i], expected[2*i], flteps, "caxpy(case 74) real");
+ gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "caxpy(case 74) imag");
+ };
+ };
+ };
+
+
+ {
+ int N = 1;
+ double alpha[2] = {0, 1};
+ double X[] = { -0.451, 0.768 };
+ int incX = -1;
+ double Y[] = { 0.007, 0.732 };
+ int incY = -1;
+ double expected[] = { -0.761, 0.281 };
+ cblas_zaxpy(N, alpha, X, incX, Y, incY);
+ {
+ int i;
+ for (i = 0; i < 1; i++) {
+ gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zaxpy(case 75) real");
+ gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zaxpy(case 75) imag");
+ };
+ };
+ };
+
+
+}