Blame cblas/test_copy.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_copy (void) {
Packit 67cb25
const double flteps = 1e-4, dbleps = 1e-6;
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.898f };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   float Y[] = { 0.699f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected[] = { 0.898f };
Packit 67cb25
   cblas_scopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected[i], flteps, "scopy(case 76)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { 0.002 };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   double Y[] = { -0.921 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected[] = { 0.002 };
Packit 67cb25
   cblas_dcopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected[i], dbleps, "dcopy(case 77)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { -0.166f, 0.639f };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   float Y[] = { 0.863f, 0.613f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected[] = { -0.166f, 0.639f };
Packit 67cb25
   cblas_ccopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected[2*i], flteps, "ccopy(case 78) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "ccopy(case 78) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { 0.315, -0.324 };
Packit 67cb25
   int incX = 1;
Packit 67cb25
   double Y[] = { -0.312, -0.748 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected[] = { 0.315, -0.324 };
Packit 67cb25
   cblas_zcopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zcopy(case 79) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zcopy(case 79) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.222f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.522f };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   float expected[] = { 0.222f };
Packit 67cb25
   cblas_scopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected[i], flteps, "scopy(case 80)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { 0.021 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { 0.898 };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   double expected[] = { 0.021 };
Packit 67cb25
   cblas_dcopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected[i], dbleps, "dcopy(case 81)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.376f, 0.229f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.143f, -0.955f };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   float expected[] = { 0.376f, 0.229f };
Packit 67cb25
   cblas_ccopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected[2*i], flteps, "ccopy(case 82) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "ccopy(case 82) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { -0.265, -0.84 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.156, 0.939 };
Packit 67cb25
   int incY = 1;
Packit 67cb25
   double expected[] = { -0.265, -0.84 };
Packit 67cb25
   cblas_zcopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zcopy(case 83) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zcopy(case 83) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.074f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.802f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected[] = { 0.074f };
Packit 67cb25
   cblas_scopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected[i], flteps, "scopy(case 84)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { -0.374 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.161 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected[] = { -0.374 };
Packit 67cb25
   cblas_dcopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], expected[i], dbleps, "dcopy(case 85)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   float X[] = { 0.084f, 0.778f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.31f, -0.797f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float expected[] = { 0.084f, 0.778f };
Packit 67cb25
   cblas_ccopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected[2*i], flteps, "ccopy(case 86) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "ccopy(case 86) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int N = 1;
Packit 67cb25
   double X[] = { 0.831, -0.282 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.62, 0.32 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double expected[] = { 0.831, -0.282 };
Packit 67cb25
   cblas_zcopy(N, X, incX, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zcopy(case 87) real");
Packit 67cb25
       gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zcopy(case 87) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
}