|
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_swap (void) {
|
|
Packit |
67cb25 |
const double flteps = 1e-4, dbleps = 1e-6;
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.539f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float Y[] = { -0.262f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected1[] = { -0.262f };
|
|
Packit |
67cb25 |
float expected2[] = { 0.539f };
|
|
Packit |
67cb25 |
cblas_sswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 88)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 89)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.906 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double Y[] = { 0.373 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected1[] = { 0.373 };
|
|
Packit |
67cb25 |
double expected2[] = { 0.906 };
|
|
Packit |
67cb25 |
cblas_dswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 90)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 91)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.316f, -0.529f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
float Y[] = { -0.313f, 0.363f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected1[] = { -0.313f, 0.363f };
|
|
Packit |
67cb25 |
float expected2[] = { -0.316f, -0.529f };
|
|
Packit |
67cb25 |
cblas_cswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 92) real");
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 92) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 93) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 93) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.512, -0.89 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
double Y[] = { -0.225, -0.511 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected1[] = { -0.225, -0.511 };
|
|
Packit |
67cb25 |
double expected2[] = { 0.512, -0.89 };
|
|
Packit |
67cb25 |
cblas_zswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 94) real");
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 94) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 95) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 95) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.336f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.431f };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected1[] = { -0.431f };
|
|
Packit |
67cb25 |
float expected2[] = { 0.336f };
|
|
Packit |
67cb25 |
cblas_sswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 96)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 97)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.764 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { -0.293 };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
double expected1[] = { -0.293 };
|
|
Packit |
67cb25 |
double expected2[] = { 0.764 };
|
|
Packit |
67cb25 |
cblas_dswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 98)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 99)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.239f, 0.361f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { 0.149f, 0.347f };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected1[] = { 0.149f, 0.347f };
|
|
Packit |
67cb25 |
float expected2[] = { -0.239f, 0.361f };
|
|
Packit |
67cb25 |
cblas_cswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 100) real");
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 100) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 101) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 101) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.171, -0.936 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.495, -0.835 };
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
double expected1[] = { 0.495, -0.835 };
|
|
Packit |
67cb25 |
double expected2[] = { -0.171, -0.936 };
|
|
Packit |
67cb25 |
cblas_zswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 102) real");
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 102) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 103) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 103) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.405f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.213f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected1[] = { -0.213f };
|
|
Packit |
67cb25 |
float expected2[] = { -0.405f };
|
|
Packit |
67cb25 |
cblas_sswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[i], expected1[i], flteps, "sswap(case 104)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected2[i], flteps, "sswap(case 105)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.761 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { -0.585 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected1[] = { -0.585 };
|
|
Packit |
67cb25 |
double expected2[] = { -0.761 };
|
|
Packit |
67cb25 |
cblas_dswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[i], expected1[i], dbleps, "dswap(case 106)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[i], expected2[i], dbleps, "dswap(case 107)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.853f, 0.146f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { 0.009f, -0.178f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected1[] = { 0.009f, -0.178f };
|
|
Packit |
67cb25 |
float expected2[] = { 0.853f, 0.146f };
|
|
Packit |
67cb25 |
cblas_cswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i], expected1[2*i], flteps, "cswap(case 108) real");
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i+1], expected1[2*i+1], flteps, "cswap(case 108) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected2[2*i], flteps, "cswap(case 109) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected2[2*i+1], flteps, "cswap(case 109) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.228, 0.386 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.988, -0.084 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected1[] = { 0.988, -0.084 };
|
|
Packit |
67cb25 |
double expected2[] = { -0.228, 0.386 };
|
|
Packit |
67cb25 |
cblas_zswap(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i], expected1[2*i], dbleps, "zswap(case 110) real");
|
|
Packit |
67cb25 |
gsl_test_rel(X[2*i+1], expected1[2*i+1], dbleps, "zswap(case 110) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i], expected2[2*i], dbleps, "zswap(case 111) real");
|
|
Packit |
67cb25 |
gsl_test_rel(Y[2*i+1], expected2[2*i+1], dbleps, "zswap(case 111) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|