diff options
Diffstat (limited to 'gsl-1.9/cblas/test_swap.c')
-rw-r--r-- | gsl-1.9/cblas/test_swap.c | 311 |
1 files changed, 311 insertions, 0 deletions
diff --git a/gsl-1.9/cblas/test_swap.c b/gsl-1.9/cblas/test_swap.c new file mode 100644 index 0000000..accf822 --- /dev/null +++ b/gsl-1.9/cblas/test_swap.c @@ -0,0 +1,311 @@ +#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_swap (void) { +const double flteps = 1e-4, dbleps = 1e-6; + { + int N = 1; + float X[] = { 0.539f }; + int incX = 1; + float Y[] = { -0.262f }; + int incY = -1; + float expected1[] = { -0.262f }; + float expected2[] = { 0.539f }; + cblas_sswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 88)"); + } + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 89)"); + } + }; + }; + + + { + int N = 1; + double X[] = { 0.906 }; + int incX = 1; + double Y[] = { 0.373 }; + int incY = -1; + double expected1[] = { 0.373 }; + double expected2[] = { 0.906 }; + cblas_dswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 90)"); + } + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 91)"); + } + }; + }; + + + { + int N = 1; + float X[] = { -0.316f, -0.529f }; + int incX = 1; + float Y[] = { -0.313f, 0.363f }; + int incY = -1; + float expected1[] = { -0.313f, 0.363f }; + float expected2[] = { -0.316f, -0.529f }; + cblas_cswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 92) real"); + gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 92) imag"); + }; + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 93) real"); + gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 93) imag"); + }; + }; + }; + + + { + int N = 1; + double X[] = { 0.512, -0.89 }; + int incX = 1; + double Y[] = { -0.225, -0.511 }; + int incY = -1; + double expected1[] = { -0.225, -0.511 }; + double expected2[] = { 0.512, -0.89 }; + cblas_zswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 94) real"); + gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 94) imag"); + }; + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 95) real"); + gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 95) imag"); + }; + }; + }; + + + { + int N = 1; + float X[] = { 0.336f }; + int incX = -1; + float Y[] = { -0.431f }; + int incY = 1; + float expected1[] = { -0.431f }; + float expected2[] = { 0.336f }; + cblas_sswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 96)"); + } + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 97)"); + } + }; + }; + + + { + int N = 1; + double X[] = { 0.764 }; + int incX = -1; + double Y[] = { -0.293 }; + int incY = 1; + double expected1[] = { -0.293 }; + double expected2[] = { 0.764 }; + cblas_dswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 98)"); + } + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 99)"); + } + }; + }; + + + { + int N = 1; + float X[] = { -0.239f, 0.361f }; + int incX = -1; + float Y[] = { 0.149f, 0.347f }; + int incY = 1; + float expected1[] = { 0.149f, 0.347f }; + float expected2[] = { -0.239f, 0.361f }; + cblas_cswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 100) real"); + gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 100) imag"); + }; + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 101) real"); + gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 101) imag"); + }; + }; + }; + + + { + int N = 1; + double X[] = { -0.171, -0.936 }; + int incX = -1; + double Y[] = { 0.495, -0.835 }; + int incY = 1; + double expected1[] = { 0.495, -0.835 }; + double expected2[] = { -0.171, -0.936 }; + cblas_zswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 102) real"); + gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 102) imag"); + }; + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 103) real"); + gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 103) imag"); + }; + }; + }; + + + { + int N = 1; + float X[] = { -0.405f }; + int incX = -1; + float Y[] = { -0.213f }; + int incY = -1; + float expected1[] = { -0.213f }; + float expected2[] = { -0.405f }; + cblas_sswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 104)"); + } + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 105)"); + } + }; + }; + + + { + int N = 1; + double X[] = { -0.761 }; + int incX = -1; + double Y[] = { -0.585 }; + int incY = -1; + double expected1[] = { -0.585 }; + double expected2[] = { -0.761 }; + cblas_dswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 106)"); + } + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 107)"); + } + }; + }; + + + { + int N = 1; + float X[] = { 0.853f, 0.146f }; + int incX = -1; + float Y[] = { 0.009f, -0.178f }; + int incY = -1; + float expected1[] = { 0.009f, -0.178f }; + float expected2[] = { 0.853f, 0.146f }; + cblas_cswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 108) real"); + gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 108) imag"); + }; + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 109) real"); + gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 109) imag"); + }; + }; + }; + + + { + int N = 1; + double X[] = { -0.228, 0.386 }; + int incX = -1; + double Y[] = { 0.988, -0.084 }; + int incY = -1; + double expected1[] = { 0.988, -0.084 }; + double expected2[] = { -0.228, 0.386 }; + cblas_zswap(N, X, incX, Y, incY); + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 110) real"); + gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 110) imag"); + }; + }; + { + int i; + for (i = 0; i < 1; i++) { + gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 111) real"); + gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 111) imag"); + }; + }; + }; + + +} |