Blame cblas/test_hpr.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_hpr (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
   int N = 2;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float Ap[] = { -0.273f, -0.499f, -0.305f, -0.277f, 0.238f, -0.369f };
Packit 67cb25
   float X[] = { 0.638f, -0.905f, 0.224f, 0.182f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Ap_expected[] = { -0.26467f, 0.0f, -0.30718f, -0.245116f, 0.360607f, 0.0f };
Packit 67cb25
   cblas_chpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr(case 1418) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr(case 1418) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float Ap[] = { -0.273f, -0.499f, -0.305f, -0.277f, 0.238f, -0.369f };
Packit 67cb25
   float X[] = { 0.638f, -0.905f, 0.224f, 0.182f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Ap_expected[] = { -0.26467f, 0.0f, -0.30718f, -0.308884f, 0.360607f, 0.0f };
Packit 67cb25
   cblas_chpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr(case 1419) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr(case 1419) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float Ap[] = { -0.273f, -0.499f, -0.305f, -0.277f, 0.238f, -0.369f };
Packit 67cb25
   float X[] = { 0.638f, -0.905f, 0.224f, 0.182f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Ap_expected[] = { -0.26467f, 0.0f, -0.30718f, -0.245116f, 0.360607f, 0.0f };
Packit 67cb25
   cblas_chpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr(case 1420) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr(case 1420) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   int N = 2;
Packit 67cb25
   float alpha = 0.1f;
Packit 67cb25
   float Ap[] = { -0.273f, -0.499f, -0.305f, -0.277f, 0.238f, -0.369f };
Packit 67cb25
   float X[] = { 0.638f, -0.905f, 0.224f, 0.182f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Ap_expected[] = { -0.26467f, 0.0f, -0.30718f, -0.308884f, 0.360607f, 0.0f };
Packit 67cb25
   cblas_chpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], flteps, "chpr(case 1421) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], flteps, "chpr(case 1421) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double alpha = 1;
Packit 67cb25
   double Ap[] = { 0.265, 0.362, -0.855, 0.035, 0.136, 0.133 };
Packit 67cb25
   double X[] = { -0.278, -0.686, -0.736, -0.918 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Ap_expected[] = { 1.64942, 0.0, -0.020644, -0.214692, 0.68388, 0.0 };
Packit 67cb25
   cblas_zhpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr(case 1422) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr(case 1422) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 101;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double alpha = 1;
Packit 67cb25
   double Ap[] = { 0.265, 0.362, -0.855, 0.035, 0.136, 0.133 };
Packit 67cb25
   double X[] = { -0.278, -0.686, -0.736, -0.918 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Ap_expected[] = { 1.64942, 0.0, -0.020644, 0.284692, 0.68388, 0.0 };
Packit 67cb25
   cblas_zhpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr(case 1423) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr(case 1423) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 121;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double alpha = 1;
Packit 67cb25
   double Ap[] = { 0.265, 0.362, -0.855, 0.035, 0.136, 0.133 };
Packit 67cb25
   double X[] = { -0.278, -0.686, -0.736, -0.918 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Ap_expected[] = { 1.64942, 0.0, -0.020644, -0.214692, 0.68388, 0.0 };
Packit 67cb25
   cblas_zhpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr(case 1424) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr(case 1424) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
  {
Packit 67cb25
   int order = 102;
Packit 67cb25
   int uplo = 122;
Packit 67cb25
   int N = 2;
Packit 67cb25
   double alpha = 1;
Packit 67cb25
   double Ap[] = { 0.265, 0.362, -0.855, 0.035, 0.136, 0.133 };
Packit 67cb25
   double X[] = { -0.278, -0.686, -0.736, -0.918 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Ap_expected[] = { 1.64942, 0.0, -0.020644, 0.284692, 0.68388, 0.0 };
Packit 67cb25
   cblas_zhpr(order, uplo, N, alpha, X, incX, Ap);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 3; i++) {
Packit 67cb25
       gsl_test_rel(Ap[2*i], Ap_expected[2*i], dbleps, "zhpr(case 1425) real");
Packit 67cb25
       gsl_test_rel(Ap[2*i+1], Ap_expected[2*i+1], dbleps, "zhpr(case 1425) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
}