📄 test_rotg.c
字号:
#include <gsl/gsl_test.h>#include <gsl/gsl_ieee_utils.h>#include <gsl/gsl_math.h>#include <gsl/gsl_cblas.h>#include "tests.h"voidtest_rotg (void) {const double flteps = 1e-4, dbleps = 1e-6; { float a = -1.5f; float b = -1.5f; float c; float s; float r_expected = -2.12132034356f; float z_expected = 1.41421356237f; float c_expected = 0.707106781187f; float s_expected = 0.707106781187f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 166)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 167)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 168)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 169)"); }; { float a = -1.5f; float b = -1.0f; float c; float s; float r_expected = -1.80277563773f; float z_expected = 0.554700196225f; float c_expected = 0.832050294338f; float s_expected = 0.554700196225f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 170)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 171)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 172)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 173)"); }; { float a = -1.5f; float b = -0.1f; float c; float s; float r_expected = -1.50332963784f; float z_expected = 0.0665190105238f; float c_expected = 0.997785157857f; float s_expected = 0.0665190105238f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 174)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 175)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 176)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 177)"); }; { float a = -1.5f; float b = 0.0f; float c; float s; float r_expected = -1.5f; float z_expected = -0.0f; float c_expected = 1.0f; float s_expected = -0.0f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 178)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 179)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 180)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 181)"); }; { float a = -1.5f; float b = 0.1f; float c; float s; float r_expected = -1.50332963784f; float z_expected = -0.0665190105238f; float c_expected = 0.997785157857f; float s_expected = -0.0665190105238f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 182)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 183)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 184)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 185)"); }; { float a = -1.5f; float b = 1.0f; float c; float s; float r_expected = -1.80277563773f; float z_expected = -0.554700196225f; float c_expected = 0.832050294338f; float s_expected = -0.554700196225f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 186)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 187)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 188)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 189)"); }; { float a = -1.5f; float b = 1.5f; float c; float s; float r_expected = 2.12132034356f; float z_expected = -1.41421356237f; float c_expected = -0.707106781187f; float s_expected = 0.707106781187f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 190)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 191)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 192)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 193)"); }; { float a = -1.0f; float b = -1.5f; float c; float s; float r_expected = -1.80277563773f; float z_expected = 1.80277563773f; float c_expected = 0.554700196225f; float s_expected = 0.832050294338f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 194)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 195)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 196)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 197)"); }; { float a = -1.0f; float b = -1.0f; float c; float s; float r_expected = -1.41421356237f; float z_expected = 1.41421356237f; float c_expected = 0.707106781187f; float s_expected = 0.707106781187f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 198)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 199)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 200)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 201)"); }; { float a = -1.0f; float b = -0.1f; float c; float s; float r_expected = -1.00498756211f; float z_expected = 0.099503719021f; float c_expected = 0.99503719021f; float s_expected = 0.099503719021f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 202)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 203)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 204)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 205)"); }; { float a = -1.0f; float b = 0.0f; float c; float s; float r_expected = -1.0f; float z_expected = -0.0f; float c_expected = 1.0f; float s_expected = -0.0f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 206)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 207)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 208)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 209)"); }; { float a = -1.0f; float b = 0.1f; float c; float s; float r_expected = -1.00498756211f; float z_expected = -0.099503719021f; float c_expected = 0.99503719021f; float s_expected = -0.099503719021f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 210)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 211)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 212)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 213)"); }; { float a = -1.0f; float b = 1.0f; float c; float s; float r_expected = 1.41421356237f; float z_expected = -1.41421356237f; float c_expected = -0.707106781187f; float s_expected = 0.707106781187f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 214)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 215)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 216)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 217)"); }; { float a = -1.0f; float b = 1.5f; float c; float s; float r_expected = 1.80277563773f; float z_expected = -1.80277563773f; float c_expected = -0.554700196225f; float s_expected = 0.832050294338f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 218)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 219)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 220)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 221)"); }; { float a = -0.1f; float b = -1.5f; float c; float s; float r_expected = -1.50332963784f; float z_expected = 15.0332963784f; float c_expected = 0.0665190105238f; float s_expected = 0.997785157857f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 222)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 223)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 224)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 225)"); }; { float a = -0.1f; float b = -1.0f; float c; float s; float r_expected = -1.00498756211f; float z_expected = 10.0498756211f; float c_expected = 0.099503719021f; float s_expected = 0.99503719021f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 226)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 227)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 228)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 229)"); }; { float a = -0.1f; float b = -0.1f; float c; float s; float r_expected = -0.141421356237f; float z_expected = 1.41421356237f; float c_expected = 0.707106781187f; float s_expected = 0.707106781187f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 230)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 231)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 232)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 233)"); }; { float a = -0.1f; float b = 0.0f; float c; float s; float r_expected = -0.1f; float z_expected = -0.0f; float c_expected = 1.0f; float s_expected = -0.0f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 234)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 235)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 236)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 237)"); }; { float a = -0.1f; float b = 0.1f; float c; float s; float r_expected = 0.141421356237f; float z_expected = -1.41421356237f; float c_expected = -0.707106781187f; float s_expected = 0.707106781187f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 238)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 239)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 240)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 241)"); }; { float a = -0.1f; float b = 1.0f; float c; float s; float r_expected = 1.00498756211f; float z_expected = -10.0498756211f; float c_expected = -0.099503719021f; float s_expected = 0.99503719021f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 242)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 243)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 244)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 245)"); }; { float a = -0.1f; float b = 1.5f; float c; float s; float r_expected = 1.50332963784f; float z_expected = -15.0332963784f; float c_expected = -0.0665190105238f; float s_expected = 0.997785157857f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 246)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 247)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 248)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 249)"); }; { float a = 0.0f; float b = -1.5f; float c; float s; float r_expected = -1.5f; float z_expected = 1.0f; float c_expected = -0.0f; float s_expected = 1.0f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 250)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 251)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 252)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 253)"); }; { float a = 0.0f; float b = -1.0f; float c; float s; float r_expected = -1.0f; float z_expected = 1.0f; float c_expected = -0.0f; float s_expected = 1.0f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 254)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 255)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 256)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 257)"); }; { float a = 0.0f; float b = -0.1f; float c; float s; float r_expected = -0.1f; float z_expected = 1.0f; float c_expected = -0.0f; float s_expected = 1.0f; cblas_srotg(&a, &b, &c, &s); gsl_test_rel(a, r_expected, flteps, "srotg(case 258)"); gsl_test_rel(b, z_expected, flteps, "srotg(case 259)"); gsl_test_rel(c, c_expected, flteps, "srotg(case 260)"); gsl_test_rel(s, s_expected, flteps, "srotg(case 261)"); }; { float a = 0.0f;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -