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

📄 test_tbmv.c

📁 开放gsl矩阵运算
💻 C
📖 第 1 页 / 共 4 页
字号:
#include <gsl/gsl_test.h>#include <gsl/gsl_ieee_utils.h>#include <gsl/gsl_math.h>#include "gsl_cblas.h"#include "tests.h"voidtest_tbmv (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.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { 0.017088f, 0.315595f, 0.243875f };   cblas_stbmv(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, "stbmv(case 894)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { -0.089f, -0.721909f, 0.129992f };   cblas_stbmv(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, "stbmv(case 895)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { 0.156927f, -0.159004f, 0.098252f };   cblas_stbmv(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, "stbmv(case 896)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { 0.043096f, -0.584876f, -0.203f };   cblas_stbmv(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, "stbmv(case 897)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { 0.024831f, -0.24504f, 0.447756f };   cblas_stbmv(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, "stbmv(case 898)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { -0.089f, -0.670912f, 0.146504f };   cblas_stbmv(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, "stbmv(case 899)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { -0.24504f, 0.447756f, -0.089117f };   cblas_stbmv(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, "stbmv(case 900)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.439f, -0.484f, -0.952f, -0.508f, 0.381f, -0.889f, -0.192f, -0.279f, -0.155f };   float X[] = { -0.089f, -0.688f, -0.203f };   int incX = -1;   float x_expected[] = { -0.351128f, -0.589748f, -0.203f };   cblas_stbmv(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, "stbmv(case 901)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { 0.156047f, 0.189418f, -0.52828f };   cblas_stbmv(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, "stbmv(case 902)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { 0.194342f, -0.449858f, -0.562f };   cblas_stbmv(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, "stbmv(case 903)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { -0.0046f, 0.156047f, 0.189418f };   cblas_stbmv(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, "stbmv(case 904)");     }   };  };  {   int order = 101;   int trans = 112;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { 0.023f, -0.516295f, -0.423724f };   cblas_stbmv(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, "stbmv(case 905)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { 0.328565f, 0.326454f, 0.051142f };   cblas_stbmv(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, "stbmv(case 906)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { 0.356165f, -0.345888f, -0.562f };   cblas_stbmv(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, "stbmv(case 907)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { -0.015295f, 0.13041f, -0.482689f };   cblas_stbmv(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, "stbmv(case 908)");     }   };  };  {   int order = 102;   int trans = 112;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   float A[] = { 0.94f, -0.091f, 0.984f, -0.276f, -0.342f, -0.484f, -0.665f, -0.2f, 0.349f };   float X[] = { 0.023f, -0.501f, -0.562f };   int incX = -1;   float x_expected[] = { 0.023f, -0.508866f, -0.516409f };   cblas_stbmv(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, "stbmv(case 909)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 121;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.566, 0.955, -0.086, -0.856, 0.177, 0.974, -0.652, -0.884, 0.77 };   double X[] = { -0.77, -0.818, 0.337 };   int incX = -1;   double x_expected[] = { 0.50204, 0.563918, -0.590448 };   cblas_dtbmv(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, "dtbmv(case 910)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 121;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.566, 0.955, -0.086, -0.856, 0.177, 0.974, -0.652, -0.884, 0.77 };   double X[] = { -0.77, -0.818, 0.337 };   int incX = -1;   double x_expected[] = { -0.77, -0.95429, -0.44419 };   cblas_dtbmv(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, "dtbmv(case 911)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 131;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.566, 0.955, -0.086, -0.856, 0.177, 0.974, -0.652, -0.884, 0.77 };   double X[] = { -0.77, -0.818, 0.337 };   int incX = -1;   double x_expected[] = { 1.214016, -0.433258, 0.321835 };   cblas_dtbmv(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, "dtbmv(case 912)");     }   };  };  {   int order = 101;   int trans = 111;   int uplo = 122;   int diag = 132;   int N = 3;   int K = 1;   int lda = 3;   double A[] = { 0.566, 0.955, -0.086, -0.856, 0.177, 0.974, -0.652, -0.884, 0.77 };   double X[] = { -0.77, -0.818, 0.337 };   int incX = -1;   double x_expected[] = { -0.236664, -1.106472, 0.337 };   cblas_dtbmv(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, "dtbmv(case 913)");     }   };  };  {   int order = 102;   int trans = 111;   int uplo = 121;   int diag = 131;

⌨️ 快捷键说明

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