|
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_asum (void) {
|
|
Packit |
67cb25 |
const double flteps = 1e-4, dbleps = 1e-6;
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.239f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sasum(case 40)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.413 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dasum(case 41)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.1f, 0.017f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_scasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "scasum(case 42)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.651, 0.079 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dzasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dzasum(case 43)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { 0.899f, -0.72f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float expected = 1.619f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sasum(case 44)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { 0.271, -0.012 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double expected = 0.283;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dasum(case 45)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { -0.567f, -0.645f, 0.098f, 0.256f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float expected = 1.566f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_scasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "scasum(case 46)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { -0.046, -0.671, -0.323, 0.785 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double expected = 1.825;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dzasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dzasum(case 47)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { 0.169f, 0.833f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sasum(case 48)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { -0.586, -0.486 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dasum(case 49)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
float X[] = { -0.314f, -0.318f, -0.835f, -0.807f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float expected = 0.0f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_scasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "scasum(case 50)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 2;
|
|
Packit |
67cb25 |
double X[] = { -0.927, 0.152, -0.554, -0.844 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double expected = 0;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_dzasum(N, X, incX);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "dzasum(case 51)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|