|
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_ger (void) {
|
|
Packit |
67cb25 |
const double flteps = 1e-4, dbleps = 1e-6;
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 101;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
float alpha = 1.0f;
|
|
Packit |
67cb25 |
float A[] = { -0.515f };
|
|
Packit |
67cb25 |
float X[] = { 0.611f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.082f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float A_expected[] = { -0.565102f };
|
|
Packit |
67cb25 |
cblas_sger(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[i], A_expected[i], flteps, "sger(case 1390)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 102;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
float alpha = 1.0f;
|
|
Packit |
67cb25 |
float A[] = { -0.515f };
|
|
Packit |
67cb25 |
float X[] = { 0.611f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.082f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float A_expected[] = { -0.565102f };
|
|
Packit |
67cb25 |
cblas_sger(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[i], A_expected[i], flteps, "sger(case 1391)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 101;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
double alpha = 1;
|
|
Packit |
67cb25 |
double A[] = { -0.809 };
|
|
Packit |
67cb25 |
double X[] = { -0.652 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.712 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double A_expected[] = { -1.273224 };
|
|
Packit |
67cb25 |
cblas_dger(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[i], A_expected[i], dbleps, "dger(case 1392)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 102;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
double alpha = 1;
|
|
Packit |
67cb25 |
double A[] = { -0.809 };
|
|
Packit |
67cb25 |
double X[] = { -0.652 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.712 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double A_expected[] = { -1.273224 };
|
|
Packit |
67cb25 |
cblas_dger(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[i], A_expected[i], dbleps, "dger(case 1393)");
|
|
Packit |
67cb25 |
}
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 101;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
float alpha[2] = {0.0f, 0.0f};
|
|
Packit |
67cb25 |
float A[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
float X[] = { -0.38f, -0.235f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.627f, 0.757f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float A_expected[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
cblas_cgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgeru(case 1394) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgeru(case 1394) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 101;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
float alpha[2] = {0.0f, 0.0f};
|
|
Packit |
67cb25 |
float A[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
float X[] = { -0.38f, -0.235f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.627f, 0.757f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float A_expected[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
cblas_cgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgerc(case 1395) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgerc(case 1395) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 102;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
float alpha[2] = {0.0f, 0.0f};
|
|
Packit |
67cb25 |
float A[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
float X[] = { -0.38f, -0.235f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.627f, 0.757f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float A_expected[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
cblas_cgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgeru(case 1396) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgeru(case 1396) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 102;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
float alpha[2] = {0.0f, 0.0f};
|
|
Packit |
67cb25 |
float A[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
float X[] = { -0.38f, -0.235f };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
float Y[] = { -0.627f, 0.757f };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
float A_expected[] = { -0.651f, 0.856f };
|
|
Packit |
67cb25 |
cblas_cgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], flteps, "cgerc(case 1397) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], flteps, "cgerc(case 1397) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 101;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
double alpha[2] = {-1, 0};
|
|
Packit |
67cb25 |
double A[] = { -0.426, 0.757 };
|
|
Packit |
67cb25 |
double X[] = { -0.579, -0.155 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.831, 0.035 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double A_expected[] = { 0.049724, 0.90607 };
|
|
Packit |
67cb25 |
cblas_zgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgeru(case 1398) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgeru(case 1398) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 101;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
double alpha[2] = {-1, 0};
|
|
Packit |
67cb25 |
double A[] = { -0.426, 0.757 };
|
|
Packit |
67cb25 |
double X[] = { -0.579, -0.155 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.831, 0.035 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double A_expected[] = { 0.060574, 0.86554 };
|
|
Packit |
67cb25 |
cblas_zgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgerc(case 1399) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgerc(case 1399) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 102;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
double alpha[2] = {-1, 0};
|
|
Packit |
67cb25 |
double A[] = { -0.426, 0.757 };
|
|
Packit |
67cb25 |
double X[] = { -0.579, -0.155 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.831, 0.035 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double A_expected[] = { 0.049724, 0.90607 };
|
|
Packit |
67cb25 |
cblas_zgeru(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgeru(case 1400) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgeru(case 1400) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int order = 102;
|
|
Packit |
67cb25 |
int M = 1;
|
|
Packit |
67cb25 |
int N = 1;
|
|
Packit |
67cb25 |
int lda = 1;
|
|
Packit |
67cb25 |
double alpha[2] = {-1, 0};
|
|
Packit |
67cb25 |
double A[] = { -0.426, 0.757 };
|
|
Packit |
67cb25 |
double X[] = { -0.579, -0.155 };
|
|
Packit |
67cb25 |
int incX = -1;
|
|
Packit |
67cb25 |
double Y[] = { 0.831, 0.035 };
|
|
Packit |
67cb25 |
int incY = -1;
|
|
Packit |
67cb25 |
double A_expected[] = { 0.060574, 0.86554 };
|
|
Packit |
67cb25 |
cblas_zgerc(order, M, N, alpha, X, incX, Y, incY, A, lda);
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
int i;
|
|
Packit |
67cb25 |
for (i = 0; i < 1; i++) {
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i], A_expected[2*i], dbleps, "zgerc(case 1401) real");
|
|
Packit |
67cb25 |
gsl_test_rel(A[2*i+1], A_expected[2*i+1], dbleps, "zgerc(case 1401) imag");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|