Blame cblas/test_her2.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_her2 (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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   float alpha[2] = {-1.0f, 0.0f};
Packit 67cb25
   float A[] = { -0.821f, 0.954f };
Packit 67cb25
   float X[] = { 0.532f, 0.802f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.016f, -0.334f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float A_expected[] = { -0.302288f, 0.0f };
Packit 67cb25
   cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1450) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1450) 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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   float alpha[2] = {-1.0f, 0.0f};
Packit 67cb25
   float A[] = { -0.821f, 0.954f };
Packit 67cb25
   float X[] = { 0.532f, 0.802f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.016f, -0.334f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float A_expected[] = { -0.302288f, 0.0f };
Packit 67cb25
   cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1451) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1451) 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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   float alpha[2] = {-1.0f, 0.0f};
Packit 67cb25
   float A[] = { -0.821f, 0.954f };
Packit 67cb25
   float X[] = { 0.532f, 0.802f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.016f, -0.334f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float A_expected[] = { -0.302288f, 0.0f };
Packit 67cb25
   cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1452) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1452) 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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   float alpha[2] = {-1.0f, 0.0f};
Packit 67cb25
   float A[] = { -0.821f, 0.954f };
Packit 67cb25
   float X[] = { 0.532f, 0.802f };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   float Y[] = { 0.016f, -0.334f };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   float A_expected[] = { -0.302288f, 0.0f };
Packit 67cb25
   cblas_cher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cher2(case 1453) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cher2(case 1453) 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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   double alpha[2] = {-0.3, 0.1};
Packit 67cb25
   double A[] = { -0.334, 0.286 };
Packit 67cb25
   double X[] = { -0.14, -0.135 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { 0.455, 0.358 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double A_expected[] = { -0.264521, 0.0 };
Packit 67cb25
   cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1454) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1454) 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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   double alpha[2] = {-0.3, 0.1};
Packit 67cb25
   double A[] = { -0.334, 0.286 };
Packit 67cb25
   double X[] = { -0.14, -0.135 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { 0.455, 0.358 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double A_expected[] = { -0.264521, 0.0 };
Packit 67cb25
   cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1455) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1455) 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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   double alpha[2] = {-0.3, 0.1};
Packit 67cb25
   double A[] = { -0.334, 0.286 };
Packit 67cb25
   double X[] = { -0.14, -0.135 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { 0.455, 0.358 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double A_expected[] = { -0.264521, 0.0 };
Packit 67cb25
   cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1456) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1456) 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 = 1;
Packit 67cb25
   int lda = 1;
Packit 67cb25
   double alpha[2] = {-0.3, 0.1};
Packit 67cb25
   double A[] = { -0.334, 0.286 };
Packit 67cb25
   double X[] = { -0.14, -0.135 };
Packit 67cb25
   int incX = -1;
Packit 67cb25
   double Y[] = { 0.455, 0.358 };
Packit 67cb25
   int incY = -1;
Packit 67cb25
   double A_expected[] = { -0.264521, 0.0 };
Packit 67cb25
   cblas_zher2(order, uplo, N, alpha, X, incX, Y, incY, A, lda);
Packit 67cb25
   {
Packit 67cb25
     int i;
Packit 67cb25
     for (i = 0; i < 1; i++) {
Packit 67cb25
       gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zher2(case 1457) real");
Packit 67cb25
       gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zher2(case 1457) imag");
Packit 67cb25
     };
Packit 67cb25
   };
Packit 67cb25
  };
Packit 67cb25
Packit 67cb25
Packit 67cb25
}