Blame cblas/test_spmv.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_spmv (void) {
Packit 67cb25
const double flteps = 1e-4, dbleps = 1e-6;
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1134)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1135)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1136)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1137)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1138)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1139)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1140)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float beta = -0.3f;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float A[] = { -0.174f, 0.878f, 0.478f };
Packit 67cb25
   float X[] = { 0.503f, 0.313f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { -0.565f, -0.109f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float y_expected[] = { 0.221025f, 0.0714172f };
Packit 67cb25
   cblas_sspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], flteps, "sspmv(case 1141)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1142)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1143)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1144)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1145)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1146)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1147)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1148)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   double alpha = -1;
Packit 67cb25
   double beta = 0.1;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double A[] = { -0.181, -0.071, -0.038 };
Packit 67cb25
   double X[] = { -0.015, 0.132 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { -0.449, -0.219 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double y_expected[] = { -0.036098, 9.27e-04 };
Packit 67cb25
   cblas_dspmv(order, uplo, N, alpha, A, X, incX, beta, Y, incY);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 2; i++) {
Packit 67cb25
       gsl_test_rel(Y[i], y_expected[i], dbleps, "dspmv(case 1149)");
Packit 67cb25
     }
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
}