|
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_rotmg (void) {
|
|
Packit |
67cb25 |
const double flteps = 1e-4, dbleps = 1e-6;
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
float d1 = -1630.28519312f;
|
|
Packit |
67cb25 |
float d2 = 44320.1964703f;
|
|
Packit |
67cb25 |
float b1 = 1274.7681352f;
|
|
Packit |
67cb25 |
float b2 = 0.983006912864f;
|
|
Packit |
67cb25 |
float h[] = { -999.0f, -999.1f, -999.2f, -999.3f, -999.4f };
|
|
Packit |
67cb25 |
float d1_expected = 0.0f;
|
|
Packit |
67cb25 |
float d2_expected = 0.0f;
|
|
Packit |
67cb25 |
float b1_expected = 0.0f;
|
|
Packit |
67cb25 |
float h0_expected = -1.0f;
|
|
Packit |
67cb25 |
float h11_expected = 0.0f;
|
|
Packit |
67cb25 |
float h21_expected = 0.0f;
|
|
Packit |
67cb25 |
float h12_expected = 0.0f;
|
|
Packit |
67cb25 |
float h22_expected = 0.0f;
|
|
Packit |
67cb25 |
cblas_srotmg(&d1, &d2, &b1, b2, h);
|
|
Packit |
67cb25 |
gsl_test_rel(d1, d1_expected, flteps, "srotmg(case 606)");
|
|
Packit |
67cb25 |
gsl_test_rel(d2, d2_expected, flteps, "srotmg(case 607)");
|
|
Packit |
67cb25 |
gsl_test_rel(b1, b1_expected, flteps, "srotmg(case 608)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[0], h0_expected, flteps, "srotmg(case 609)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[1], h11_expected, flteps, "srotmg(case 610)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[2], h21_expected, flteps, "srotmg(case 611)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[3], h12_expected, flteps, "srotmg(case 612)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[4], h22_expected, flteps, "srotmg(case 613)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
double d1 = 0.0890831089656;
|
|
Packit |
67cb25 |
double d2 = 24998.3892082;
|
|
Packit |
67cb25 |
double b1 = 34657.8864443;
|
|
Packit |
67cb25 |
double b2 = 1.27708980357;
|
|
Packit |
67cb25 |
double h[] = { -999.0, -999.1, -999.2, -999.3, -999.4 };
|
|
Packit |
67cb25 |
double d1_expected = 0.0890491788526;
|
|
Packit |
67cb25 |
double d2_expected = 24988.8677829;
|
|
Packit |
67cb25 |
double b1_expected = 34671.0920237;
|
|
Packit |
67cb25 |
double h0_expected = 0;
|
|
Packit |
67cb25 |
double h11_expected = -999.1;
|
|
Packit |
67cb25 |
double h21_expected = -3.6848461767e-05;
|
|
Packit |
67cb25 |
double h12_expected = 10.34036867;
|
|
Packit |
67cb25 |
double h22_expected = -999.4;
|
|
Packit |
67cb25 |
cblas_drotmg(&d1, &d2, &b1, b2, h);
|
|
Packit |
67cb25 |
gsl_test_rel(d1, d1_expected, dbleps, "drotmg(case 614)");
|
|
Packit |
67cb25 |
gsl_test_rel(d2, d2_expected, dbleps, "drotmg(case 615)");
|
|
Packit |
67cb25 |
gsl_test_rel(b1, b1_expected, dbleps, "drotmg(case 616)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[0], h0_expected, dbleps, "drotmg(case 617)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[1], h11_expected, dbleps, "drotmg(case 618)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[2], h21_expected, dbleps, "drotmg(case 619)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[3], h12_expected, dbleps, "drotmg(case 620)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[4], h22_expected, dbleps, "drotmg(case 621)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
float d1 = 0.00100326116366f;
|
|
Packit |
67cb25 |
float d2 = -1.20359225232f;
|
|
Packit |
67cb25 |
float b1 = -7.45489498808f;
|
|
Packit |
67cb25 |
float b2 = 0.159616854019f;
|
|
Packit |
67cb25 |
float h[] = { -999.0f, -999.1f, -999.2f, -999.3f, -999.4f };
|
|
Packit |
67cb25 |
float d1_expected = 0.00222932574734f;
|
|
Packit |
67cb25 |
float d2_expected = -2.67447728926f;
|
|
Packit |
67cb25 |
float b1_expected = -3.35491869218f;
|
|
Packit |
67cb25 |
float h0_expected = 0.0f;
|
|
Packit |
67cb25 |
float h11_expected = -999.1f;
|
|
Packit |
67cb25 |
float h21_expected = 0.0214110130692f;
|
|
Packit |
67cb25 |
float h12_expected = 25.6863620142f;
|
|
Packit |
67cb25 |
float h22_expected = -999.4f;
|
|
Packit |
67cb25 |
cblas_srotmg(&d1, &d2, &b1, b2, h);
|
|
Packit |
67cb25 |
gsl_test_rel(d1, d1_expected, flteps, "srotmg(case 622)");
|
|
Packit |
67cb25 |
gsl_test_rel(d2, d2_expected, flteps, "srotmg(case 623)");
|
|
Packit |
67cb25 |
gsl_test_rel(b1, b1_expected, flteps, "srotmg(case 624)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[0], h0_expected, flteps, "srotmg(case 625)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[1], h11_expected, flteps, "srotmg(case 626)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[2], h21_expected, flteps, "srotmg(case 627)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[3], h12_expected, flteps, "srotmg(case 628)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[4], h22_expected, flteps, "srotmg(case 629)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
double d1 = -49.1978123005;
|
|
Packit |
67cb25 |
double d2 = 0.228703451277;
|
|
Packit |
67cb25 |
double b1 = 1.8901039144;
|
|
Packit |
67cb25 |
double b2 = 7081.47754386;
|
|
Packit |
67cb25 |
double h[] = { -999.0, -999.1, -999.2, -999.3, -999.4 };
|
|
Packit |
67cb25 |
double d1_expected = 0;
|
|
Packit |
67cb25 |
double d2_expected = 0;
|
|
Packit |
67cb25 |
double b1_expected = 0;
|
|
Packit |
67cb25 |
double h0_expected = -1;
|
|
Packit |
67cb25 |
double h11_expected = 0;
|
|
Packit |
67cb25 |
double h21_expected = 0;
|
|
Packit |
67cb25 |
double h12_expected = 0;
|
|
Packit |
67cb25 |
double h22_expected = 0;
|
|
Packit |
67cb25 |
cblas_drotmg(&d1, &d2, &b1, b2, h);
|
|
Packit |
67cb25 |
gsl_test_rel(d1, d1_expected, dbleps, "drotmg(case 630)");
|
|
Packit |
67cb25 |
gsl_test_rel(d2, d2_expected, dbleps, "drotmg(case 631)");
|
|
Packit |
67cb25 |
gsl_test_rel(b1, b1_expected, dbleps, "drotmg(case 632)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[0], h0_expected, dbleps, "drotmg(case 633)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[1], h11_expected, dbleps, "drotmg(case 634)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[2], h21_expected, dbleps, "drotmg(case 635)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[3], h12_expected, dbleps, "drotmg(case 636)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[4], h22_expected, dbleps, "drotmg(case 637)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
float d1 = 0.00760694276009f;
|
|
Packit |
67cb25 |
float d2 = -1.07649167228f;
|
|
Packit |
67cb25 |
float b1 = -22584.0076391f;
|
|
Packit |
67cb25 |
float b2 = -0.00305597817159f;
|
|
Packit |
67cb25 |
float h[] = { -999.0f, -999.1f, -999.2f, -999.3f, -999.4f };
|
|
Packit |
67cb25 |
float d1_expected = 0.00760694276011f;
|
|
Packit |
67cb25 |
float d2_expected = -1.07649167228f;
|
|
Packit |
67cb25 |
float b1_expected = -22584.007639f;
|
|
Packit |
67cb25 |
float h0_expected = 0.0f;
|
|
Packit |
67cb25 |
float h11_expected = -999.1f;
|
|
Packit |
67cb25 |
float h21_expected = -1.35316026298e-07f;
|
|
Packit |
67cb25 |
float h12_expected = -1.91491615001e-05f;
|
|
Packit |
67cb25 |
float h22_expected = -999.4f;
|
|
Packit |
67cb25 |
cblas_srotmg(&d1, &d2, &b1, b2, h);
|
|
Packit |
67cb25 |
gsl_test_rel(d1, d1_expected, flteps, "srotmg(case 638)");
|
|
Packit |
67cb25 |
gsl_test_rel(d2, d2_expected, flteps, "srotmg(case 639)");
|
|
Packit |
67cb25 |
gsl_test_rel(b1, b1_expected, flteps, "srotmg(case 640)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[0], h0_expected, flteps, "srotmg(case 641)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[1], h11_expected, flteps, "srotmg(case 642)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[2], h21_expected, flteps, "srotmg(case 643)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[3], h12_expected, flteps, "srotmg(case 644)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[4], h22_expected, flteps, "srotmg(case 645)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
{
|
|
Packit |
67cb25 |
double d1 = 0.000283076346391;
|
|
Packit |
67cb25 |
double d2 = 20.1907649901;
|
|
Packit |
67cb25 |
double b1 = -0.274927034914;
|
|
Packit |
67cb25 |
double b2 = 18.6645358259;
|
|
Packit |
67cb25 |
double h[] = { -999.0, -999.1, -999.2, -999.3, -999.4 };
|
|
Packit |
67cb25 |
double d1_expected = 20.1907649287;
|
|
Packit |
67cb25 |
double d2_expected = 0.00028307634553;
|
|
Packit |
67cb25 |
double b1_expected = 18.6645358827;
|
|
Packit |
67cb25 |
double h0_expected = 1;
|
|
Packit |
67cb25 |
double h11_expected = -2.06514743478e-07;
|
|
Packit |
67cb25 |
double h21_expected = -999.2;
|
|
Packit |
67cb25 |
double h12_expected = -999.3;
|
|
Packit |
67cb25 |
double h22_expected = -0.0147299154652;
|
|
Packit |
67cb25 |
cblas_drotmg(&d1, &d2, &b1, b2, h);
|
|
Packit |
67cb25 |
gsl_test_rel(d1, d1_expected, dbleps, "drotmg(case 646)");
|
|
Packit |
67cb25 |
gsl_test_rel(d2, d2_expected, dbleps, "drotmg(case 647)");
|
|
Packit |
67cb25 |
gsl_test_rel(b1, b1_expected, dbleps, "drotmg(case 648)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[0], h0_expected, dbleps, "drotmg(case 649)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[1], h11_expected, dbleps, "drotmg(case 650)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[2], h21_expected, dbleps, "drotmg(case 651)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[3], h12_expected, dbleps, "drotmg(case 652)");
|
|
Packit |
67cb25 |
gsl_test_rel(h[4], h22_expected, dbleps, "drotmg(case 653)");
|
|
Packit |
67cb25 |
};
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
|
|
Packit |
67cb25 |
}
|