|
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_copy (void) {
|
|
Packit |
67cb25 |
const double flteps = 1e-4, dbleps = 1e-6;
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.898f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float Y[] = { 0.699f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[] = { 0.898f };
|
|
Packit |
67cb25 |
cblas_scopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected[i], flteps, "scopy(case 76)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.002 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double Y[] = { -0.921 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[] = { 0.002 };
|
|
Packit |
67cb25 |
cblas_dcopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected[i], dbleps, "dcopy(case 77)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.166f, 0.639f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float Y[] = { 0.863f, 0.613f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[] = { -0.166f, 0.639f };
|
|
Packit |
67cb25 |
cblas_ccopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected[2*i], flteps, "ccopy(case 78) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "ccopy(case 78) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.315, -0.324 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double Y[] = { -0.312, -0.748 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[] = { 0.315, -0.324 };
|
|
Packit |
67cb25 |
cblas_zcopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zcopy(case 79) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zcopy(case 79) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.222f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { 0.522f };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected[] = { 0.222f };
|
|
Packit |
67cb25 |
cblas_scopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected[i], flteps, "scopy(case 80)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.021 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.898 };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
double expected[] = { 0.021 };
|
|
Packit |
67cb25 |
cblas_dcopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected[i], dbleps, "dcopy(case 81)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.376f, 0.229f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { 0.143f, -0.955f };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected[] = { 0.376f, 0.229f };
|
|
Packit |
67cb25 |
cblas_ccopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected[2*i], flteps, "ccopy(case 82) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "ccopy(case 82) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.265, -0.84 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { -0.156, 0.939 };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
double expected[] = { -0.265, -0.84 };
|
|
Packit |
67cb25 |
cblas_zcopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zcopy(case 83) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zcopy(case 83) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.074f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.802f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[] = { 0.074f };
|
|
Packit |
67cb25 |
cblas_scopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected[i], flteps, "scopy(case 84)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.374 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { -0.161 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[] = { -0.374 };
|
|
Packit |
67cb25 |
cblas_dcopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected[i], dbleps, "dcopy(case 85)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.084f, 0.778f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { 0.31f, -0.797f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[] = { 0.084f, 0.778f };
|
|
Packit |
67cb25 |
cblas_ccopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected[2*i], flteps, "ccopy(case 86) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected[2*i+1], flteps, "ccopy(case 86) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.831, -0.282 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { -0.62, 0.32 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[] = { 0.831, -0.282 };
|
|
Packit |
67cb25 |
cblas_zcopy(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected[2*i], dbleps, "zcopy(case 87) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected[2*i+1], dbleps, "zcopy(case 87) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|