|
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_dot (void) {
|
|
Packit |
67cb25 |
const double flteps = 1e-4, dbleps = 1e-6;
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 0.0f;
|
|
Packit |
67cb25 |
float X[] = { 0.733f };
|
|
Packit |
67cb25 |
float Y[] = { 0.825f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = 0.604725f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 1)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 0.1f;
|
|
Packit |
67cb25 |
float X[] = { 0.733f };
|
|
Packit |
67cb25 |
float Y[] = { 0.825f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = 0.704725f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 2)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 1.0f;
|
|
Packit |
67cb25 |
float X[] = { 0.733f };
|
|
Packit |
67cb25 |
float Y[] = { 0.825f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = 1.604725f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 3)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 0.0f;
|
|
Packit |
67cb25 |
float X[] = { -0.812f };
|
|
Packit |
67cb25 |
float Y[] = { -0.667f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected = 0.541604f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 4)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 0.1f;
|
|
Packit |
67cb25 |
float X[] = { -0.812f };
|
|
Packit |
67cb25 |
float Y[] = { -0.667f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected = 0.641604f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 5)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 1.0f;
|
|
Packit |
67cb25 |
float X[] = { -0.812f };
|
|
Packit |
67cb25 |
float Y[] = { -0.667f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected = 1.541604f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 6)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 0.0f;
|
|
Packit |
67cb25 |
float X[] = { 0.481f };
|
|
Packit |
67cb25 |
float Y[] = { 0.523f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = 0.251563f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 7)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 0.1f;
|
|
Packit |
67cb25 |
float X[] = { 0.481f };
|
|
Packit |
67cb25 |
float Y[] = { 0.523f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = 0.351563f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 8)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float alpha = 1.0f;
|
|
Packit |
67cb25 |
float X[] = { 0.481f };
|
|
Packit |
67cb25 |
float Y[] = { 0.523f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = 1.251563f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdsdot (N, alpha, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdsdot(case 9)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.785f };
|
|
Packit |
67cb25 |
float Y[] = { -0.7f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = -0.5495f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdot(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdot(case 10)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.79 };
|
|
Packit |
67cb25 |
double Y[] = { -0.679 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected = -0.53641;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_ddot(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "ddot(case 11)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.474f, -0.27f };
|
|
Packit |
67cb25 |
float Y[] = { -0.144f, -0.392f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[2] = {-0.174096f, -0.146928f};
|
|
Packit |
67cb25 |
float f[2];
|
|
Packit |
67cb25 |
cblas_cdotu_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], flteps, "cdotu(case 12) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], flteps, "cdotu(case 12) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.474f, -0.27f };
|
|
Packit |
67cb25 |
float Y[] = { -0.144f, -0.392f };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[2] = {0.037584f, -0.224688f};
|
|
Packit |
67cb25 |
float f[2];
|
|
Packit |
67cb25 |
cblas_cdotc_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], flteps, "cdotc(case 13) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], flteps, "cdotc(case 13) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.87, -0.631 };
|
|
Packit |
67cb25 |
double Y[] = { -0.7, -0.224 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[2] = {0.467656, 0.63658};
|
|
Packit |
67cb25 |
double f[2];
|
|
Packit |
67cb25 |
cblas_zdotu_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], dbleps, "zdotu(case 14) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], dbleps, "zdotu(case 14) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.87, -0.631 };
|
|
Packit |
67cb25 |
double Y[] = { -0.7, -0.224 };
|
|
Packit |
67cb25 |
int incX = 1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[2] = {0.750344, -0.24682};
|
|
Packit |
67cb25 |
double f[2];
|
|
Packit |
67cb25 |
cblas_zdotc_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], dbleps, "zdotc(case 15) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], dbleps, "zdotc(case 15) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.457f };
|
|
Packit |
67cb25 |
float Y[] = { 0.839f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected = -0.383423f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdot(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdot(case 16)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { 0.949 };
|
|
Packit |
67cb25 |
double Y[] = { -0.873 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
double expected = -0.828477;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_ddot(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "ddot(case 17)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.852f, -0.045f };
|
|
Packit |
67cb25 |
float Y[] = { 0.626f, -0.164f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected[2] = {0.525972f, -0.167898f};
|
|
Packit |
67cb25 |
float f[2];
|
|
Packit |
67cb25 |
cblas_cdotu_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], flteps, "cdotu(case 18) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], flteps, "cdotu(case 18) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { 0.852f, -0.045f };
|
|
Packit |
67cb25 |
float Y[] = { 0.626f, -0.164f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
float expected[2] = {0.540732f, -0.111558f};
|
|
Packit |
67cb25 |
float f[2];
|
|
Packit |
67cb25 |
cblas_cdotc_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], flteps, "cdotc(case 19) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], flteps, "cdotc(case 19) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.786, -0.341 };
|
|
Packit |
67cb25 |
double Y[] = { -0.271, -0.896 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
double expected[2] = {-0.09253, 0.796667};
|
|
Packit |
67cb25 |
double f[2];
|
|
Packit |
67cb25 |
cblas_zdotu_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], dbleps, "zdotu(case 20) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], dbleps, "zdotu(case 20) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.786, -0.341 };
|
|
Packit |
67cb25 |
double Y[] = { -0.271, -0.896 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = 1;
|
|
Packit |
67cb25 |
double expected[2] = {0.518542, 0.611845};
|
|
Packit |
67cb25 |
double f[2];
|
|
Packit |
67cb25 |
cblas_zdotc_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], dbleps, "zdotc(case 21) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], dbleps, "zdotc(case 21) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.088f };
|
|
Packit |
67cb25 |
float Y[] = { -0.165f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected = 0.01452f;
|
|
Packit |
67cb25 |
float f;
|
|
Packit |
67cb25 |
f = cblas_sdot(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, flteps, "sdot(case 22)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.434 };
|
|
Packit |
67cb25 |
double Y[] = { -0.402 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected = 0.174468;
|
|
Packit |
67cb25 |
double f;
|
|
Packit |
67cb25 |
f = cblas_ddot(N, X, incX, Y, incY);
|
|
Packit |
67cb25 |
gsl_test_rel(f, expected, dbleps, "ddot(case 23)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.347f, 0.899f };
|
|
Packit |
67cb25 |
float Y[] = { -0.113f, -0.858f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[2] = {0.810553f, 0.196139f};
|
|
Packit |
67cb25 |
float f[2];
|
|
Packit |
67cb25 |
cblas_cdotu_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], flteps, "cdotu(case 24) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], flteps, "cdotu(case 24) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
float X[] = { -0.347f, 0.899f };
|
|
Packit |
67cb25 |
float Y[] = { -0.113f, -0.858f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float expected[2] = {-0.732131f, 0.399313f};
|
|
Packit |
67cb25 |
float f[2];
|
|
Packit |
67cb25 |
cblas_cdotc_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], flteps, "cdotc(case 25) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], flteps, "cdotc(case 25) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.897, -0.204 };
|
|
Packit |
67cb25 |
double Y[] = { -0.759, 0.557 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[2] = {0.794451, -0.344793};
|
|
Packit |
67cb25 |
double f[2];
|
|
Packit |
67cb25 |
cblas_zdotu_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], dbleps, "zdotu(case 26) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], dbleps, "zdotu(case 26) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
double X[] = { -0.897, -0.204 };
|
|
Packit |
67cb25 |
double Y[] = { -0.759, 0.557 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double expected[2] = {0.567195, -0.654465};
|
|
Packit |
67cb25 |
double f[2];
|
|
Packit |
67cb25 |
cblas_zdotc_sub(N, X, incX, Y, incY, &f);
|
|
Packit |
67cb25 |
gsl_test_rel(f[0], expected[0], dbleps, "zdotc(case 27) real");
|
|
Packit |
67cb25 |
gsl_test_rel(f[1], expected[1], dbleps, "zdotc(case 27) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|