⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_tbsv.c

📁 该文件为c++的数学函数库!是一个非常有用的编程工具.它含有各种数学函数,为科学计算、工程应用等程序编写提供方便!
💻 C
📖 第 1 页 / 共 4 页
字号:
#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_tbsv (void) {const double flteps = 1e-4, dbleps = 1e-6;  {   int order = 101;   int trans = 111;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { -0.354651f, -2.40855f, 0.481076f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1230)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { -0.305f, 0.84973f, -1.00859f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1231)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { -2.71619f, -1.09055f, -3.97608f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1232)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { -0.56589f, 0.303361f, -0.831f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1233)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { 1.30901f, -0.656172f, -5.13458f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1234)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { -0.305f, 0.8723f, -0.509121f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1235)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { 0.524539f, -0.961964f, 1.22026f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1236)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { -0.681f, 0.209f, 0.436f, -0.369f, 0.786f, -0.84f, 0.86f, -0.233f, 0.734f };   float X[] = { -0.305f, 0.61f, -0.831f };   int incX = -1;   float x_expected[] = { -0.920972f, 0.783679f, -0.831f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1237)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 16.8676f, 17.3503f, 5.27273f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1238)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 0.209676f, 0.54278f, 0.116f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1239)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 0.212077f, -5.01482f, -1.14722f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1240)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 0.144f, 0.615848f, 0.242249f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1241)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 1.28844f, -5.49514f, 0.145912f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1242)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 0.0563823f, 0.65878f, 0.116f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1243)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 1.08271f, -3.73662f, 140.301f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1244)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.022f, 0.795f, -0.389f, -0.205f, -0.121f, 0.323f, 0.133f, 0.679f, 0.742f };   float X[] = { 0.144f, 0.635f, 0.116f };   int incX = -1;   float x_expected[] = { 0.144f, 0.652424f, -0.402677f };   cblas_stbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], flteps, "stbsv(case 1245)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.619, -0.443, 0.957, -0.633, -0.698, 0.783, -0.343, -0.603, 0.735 };   double X[] = { 0.332, 0.588, 0.252 };   int incX = -1;   double x_expected[] = { -0.967930029155, 0.138412575592, 0.506166027443 };   cblas_dtbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], dbleps, "dtbsv(case 1246)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.619, -0.443, 0.957, -0.633, -0.698, 0.783, -0.343, -0.603, 0.735 };   double X[] = { 0.332, 0.588, 0.252 };   int incX = -1;   double x_expected[] = { 0.332, 0.819736, 0.615143048 };   cblas_dtbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], dbleps, "dtbsv(case 1247)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.619, -0.443, 0.957, -0.633, -0.698, 0.783, -0.343, -0.603, 0.735 };   double X[] = { 0.332, 0.588, 0.252 };   int incX = -1;   double x_expected[] = { -0.364842154056, -0.326531140246, -0.568848758465 };   cblas_dtbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], dbleps, "dtbsv(case 1248)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.619, -0.443, 0.957, -0.633, -0.698, 0.783, -0.343, -0.603, 0.735 };   double X[] = { 0.332, 0.588, 0.252 };   int incX = -1;   double x_expected[] = { 0.588397988, 0.747516, 0.252 };   cblas_dtbsv(order, uplo, trans, diag, N, K, A, lda, X, incX);   {     int i;     for (i = 0; i < 3; i++) {       gsl_test_rel(X[i], x_expected[i], dbleps, "dtbsv(case 1249)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 121;   int diag = 131;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -