|
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_nrm2 (void) {
|
|
Packit |
67cb25 |
const double flteps = 1e-4, dbleps = 1e-6;
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.317f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_snrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "snrm2(case 28)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.071 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dnrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dnrm2(case 29)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.776f, 0.983f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_scnrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "scnrm2(case 30)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.549, -0.354 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dznrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dznrm2(case 31)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { 0.14f, -0.632f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float expected = 0.647320631527f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_snrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "snrm2(case 32)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { 0.696, -0.804 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double expected = 1.06340584915;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dnrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dnrm2(case 33)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { 0.281f, -0.063f, 0.367f, 0.232f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float expected = 0.521001919382f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_scnrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "scnrm2(case 34)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { -0.359, -0.76, -0.906, -0.108 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double expected = 1.24055672986;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dznrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dznrm2(case 35)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { 0.918f, -0.126f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_snrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "snrm2(case 36)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { 0.217, -0.588 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dnrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dnrm2(case 37)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { 0.31f, 0.059f, -0.442f, 0.987f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_scnrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "scnrm2(case 38)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { 0.609, 0.615, -0.143, -0.957 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dznrm2(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dznrm2(case 39)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|