Blame cblas/test_swap.c

Packit 67cb25
#include <gsl/gsl_test.h>
Packit 67cb25
#include <gsl/gsl_ieee_utils.h>
Packit 67cb25
#include <gsl/gsl_math.h>
Packit 67cb25
#include <gsl/gsl_cblas.h>
Packit 67cb25
Packit 67cb25
#include "tests.h"
Packit 67cb25
Packit 67cb25
void
Packit 67cb25
test_swap (void) {
Packit 67cb25
const double flteps = 1e-4, dbleps = 1e-6;
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.539f };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   float Y[] = { -0.262f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected1[] = { -0.262f };
Packit 67cb25
   float expected2[] = { 0.539f };
Packit 67cb25
   cblas_sswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 88)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 89)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { 0.906 };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   double Y[] = { 0.373 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected1[] = { 0.373 };
Packit 67cb25
   double expected2[] = { 0.906 };
Packit 67cb25
   cblas_dswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 90)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 91)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { -0.316f, -0.529f };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   float Y[] = { -0.313f, 0.363f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected1[] = { -0.313f, 0.363f };
Packit 67cb25
   float expected2[] = { -0.316f, -0.529f };
Packit 67cb25
   cblas_cswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 92) real");
Packit 67cb25
       gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 92) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 93) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 93) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { 0.512, -0.89 };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   double Y[] = { -0.225, -0.511 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected1[] = { -0.225, -0.511 };
Packit 67cb25
   double expected2[] = { 0.512, -0.89 };
Packit 67cb25
   cblas_zswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 94) real");
Packit 67cb25
       gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 94) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 95) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 95) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.336f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.431f };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   float expected1[] = { -0.431f };
Packit 67cb25
   float expected2[] = { 0.336f };
Packit 67cb25
   cblas_sswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 96)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 97)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { 0.764 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.293 };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   double expected1[] = { -0.293 };
Packit 67cb25
   double expected2[] = { 0.764 };
Packit 67cb25
   cblas_dswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 98)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 99)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { -0.239f, 0.361f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.149f, 0.347f };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   float expected1[] = { 0.149f, 0.347f };
Packit 67cb25
   float expected2[] = { -0.239f, 0.361f };
Packit 67cb25
   cblas_cswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 100) real");
Packit 67cb25
       gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 100) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 101) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 101) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { -0.171, -0.936 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { 0.495, -0.835 };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   double expected1[] = { 0.495, -0.835 };
Packit 67cb25
   double expected2[] = { -0.171, -0.936 };
Packit 67cb25
   cblas_zswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 102) real");
Packit 67cb25
       gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 102) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 103) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 103) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { -0.405f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.213f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected1[] = { -0.213f };
Packit 67cb25
   float expected2[] = { -0.405f };
Packit 67cb25
   cblas_sswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 104)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 105)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { -0.761 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.585 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected1[] = { -0.585 };
Packit 67cb25
   double expected2[] = { -0.761 };
Packit 67cb25
   cblas_dswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 106)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 107)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.853f, 0.146f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.009f, -0.178f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected1[] = { 0.009f, -0.178f };
Packit 67cb25
   float expected2[] = { 0.853f, 0.146f };
Packit 67cb25
   cblas_cswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 108) real");
Packit 67cb25
       gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 108) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 109) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 109) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { -0.228, 0.386 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { 0.988, -0.084 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected1[] = { 0.988, -0.084 };
Packit 67cb25
   double expected2[] = { -0.228, 0.386 };
Packit 67cb25
   cblas_zswap(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 110) real");
Packit 67cb25
       gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 110) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 111) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 111) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
}