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

📄 test_trmm.c

📁 该文件为c++的数学函数库!是一个非常有用的编程工具.它含有各种数学函数,为科学计算、工程应用等程序编写提供方便!
💻 C
📖 第 1 页 / 共 5 页
字号:
#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_trmm (void) {const double flteps = 1e-4, dbleps = 1e-6;  {   int order = 101;   int side = 141;   int uplo = 121;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.18f, 0.199f, 0.122f, -0.547f };   int lda = 2;   float B[] = { -0.874f, -0.383f, 0.458f, 0.124f, -0.221f, -0.107f };   int ldb = 3;   float B_expected[] = { 0.0397932f, 0.0338757f, -0.0183441f, 0.0203484f, -0.0362661f, -0.0175587f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1662)");     }   };  };  {   int order = 101;   int side = 141;   int uplo = 121;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.195f, -0.453f, -0.579f, 0.697f };   int lda = 2;   float B[] = { 0.736f, 0.131f, 0.533f, 0.692f, -0.672f, -0.435f };   int ldb = 3;   float B_expected[] = { -0.126757f, -0.130625f, -0.219017f, -0.2076f, 0.2016f, 0.1305f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1663)");     }   };  };  {   int order = 101;   int side = 141;   int uplo = 122;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.53f, 0.787f, 0.889f, -0.379f };   int lda = 2;   float B[] = { -0.355f, 0.002f, 0.266f, 0.972f, 0.712f, -0.353f };   int ldb = 3;   float B_expected[] = { -0.056445f, 3.18e-04f, 0.042294f, 0.205195f, 0.080421f, -0.111078f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1664)");     }   };  };  {   int order = 101;   int side = 141;   int uplo = 122;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.198f, -0.673f, 0.792f, 0.781f };   int lda = 2;   float B[] = { 0.901f, 0.719f, -0.339f, -0.36f, 0.539f, 0.192f };   int ldb = 3;   float B_expected[] = { -0.2703f, -0.2157f, 0.1017f, -0.106078f, -0.332534f, 0.0229464f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1665)");     }   };  };  {   int order = 102;   int side = 141;   int uplo = 121;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.522f, 0.851f, 0.586f, 0.196f };   int lda = 2;   float B[] = { 0.335f, 0.617f, 0.118f, -0.143f, 0.677f, 0.456f };   int ldb = 2;   float B_expected[] = { -0.0560076f, -0.0362796f, 0.0436182f, 0.0084084f, 0.0258534f, -0.0268128f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1666)");     }   };  };  {   int order = 102;   int side = 141;   int uplo = 121;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.006f, -0.613f, -0.966f, -0.758f };   int lda = 2;   float B[] = { 0.64f, -0.723f, -0.765f, 0.801f, 0.376f, 0.91f };   int ldb = 2;   float B_expected[] = { -0.401525f, 0.2169f, 0.46163f, -0.2403f, 0.150918f, -0.273f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1667)");     }   };  };  {   int order = 102;   int side = 141;   int uplo = 122;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.738f, 0.913f, -0.227f, 0.787f };   int lda = 2;   float B[] = { 0.194f, 0.988f, -0.274f, -0.652f, -0.281f, -0.359f };   int ldb = 2;   float B_expected[] = { -0.0429516f, -0.286403f, 0.0606636f, 0.228986f, 0.0622134f, 0.161726f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1668)");     }   };  };  {   int order = 102;   int side = 141;   int uplo = 122;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.952f, 0.598f, 0.25f, -0.508f };   int lda = 2;   float B[] = { 0.036f, 0.745f, -0.606f, 0.215f, 0.943f, -0.933f };   int ldb = 2;   float B_expected[] = { -0.0108f, -0.229958f, 0.1818f, 0.0442164f, -0.2829f, 0.110726f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1669)");     }   };  };  {   int order = 101;   int side = 142;   int uplo = 121;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.251f, 0.372f, -0.168f, 0.217f, -0.179f, 0.863f, -0.057f, 0.256f, 0.093f };   int lda = 3;   float B[] = { -0.727f, -0.461f, 0.162f, 0.579f, -0.305f, -0.735f };   int ldb = 3;   float B_expected[] = { -0.0547431f, 0.0563775f, 0.0781923f, 0.0435987f, -0.0809949f, 0.128653f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1670)");     }   };  };  {   int order = 101;   int side = 142;   int uplo = 121;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.014f, 0.204f, 0.163f, 0.842f, -0.918f, -0.748f, -0.859f, -0.463f, 0.292f };   int lda = 3;   float B[] = { -0.587f, -0.625f, -0.994f, 0.681f, -0.577f, -0.434f };   int ldb = 3;   float B_expected[] = { 0.1761f, 0.223424f, 0.186654f, -0.2043f, 0.131423f, -0.0325797f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1671)");     }   };  };  {   int order = 101;   int side = 142;   int uplo = 122;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.682f, -0.71f, 0.475f, -0.59f, -0.748f, 0.548f, 0.245f, 0.761f, -0.4f };   int lda = 3;   float B[] = { 0.565f, 0.967f, -0.969f, 0.184f, 0.349f, -0.552f };   int ldb = 3;   float B_expected[] = { 0.357979f, 0.438217f, -0.11628f, 0.139991f, 0.204337f, -0.06624f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1672)");     }   };  };  {   int order = 101;   int side = 142;   int uplo = 122;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.617f, -0.998f, -0.97f, 0.364f, 0.09f, 0.588f, -0.263f, 0.584f, 0.463f };   int lda = 3;   float B[] = { 0.773f, 0.074f, -0.388f, 0.825f, -0.608f, 0.788f };   int ldb = 3;   float B_expected[] = { -0.270594f, 0.0457776f, 0.1164f, -0.118933f, 0.0443424f, -0.2364f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1673)");     }   };  };  {   int order = 102;   int side = 142;   int uplo = 121;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.217f, -0.672f, -0.378f, -0.005f, -0.586f, -0.426f, 0.765f, -0.239f, -0.145f };   int lda = 3;   float B[] = { 0.01f, 0.387f, -0.953f, -0.374f, -0.673f, -0.724f };   int ldb = 2;   float B_expected[] = { -6.51e-04f, -0.0251937f, -0.167522f, -0.0651687f, -0.0999006f, -0.147126f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1674)");     }   };  };  {   int order = 102;   int side = 142;   int uplo = 121;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { 0.962f, 0.515f, 0.292f, 0.354f, -0.366f, 0.455f, 0.134f, -0.564f, -0.303f };   int lda = 3;   float B[] = { -0.337f, 0.718f, -0.866f, -0.454f, -0.439f, -0.668f };   int ldb = 2;   float B_expected[] = { 0.1011f, -0.2154f, 0.295589f, 0.0599484f, -0.0012798f, 0.0947196f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1675)");     }   };  };  {   int order = 102;   int side = 142;   int uplo = 122;   int trans = 111;   int diag = 131;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.228f, -0.097f, 0.205f, 0.875f, -0.162f, 0.542f, -0.839f, -0.935f, 0.2f };   int lda = 3;   float B[] = { -0.125f, -0.676f, 0.181f, 0.741f, 0.216f, 0.766f };   int ldb = 2;   float B_expected[] = { -0.0165669f, -0.0717843f, -0.026325f, -0.088539f, -0.01296f, -0.04596f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1676)");     }   };  };  {   int order = 102;   int side = 142;   int uplo = 122;   int trans = 111;   int diag = 132;   int M = 2;   int N = 3;   float alpha = -0.3f;   float A[] = { -0.854f, -0.502f, 0.591f, -0.934f, -0.729f, 0.063f, 0.352f, 0.126f, -0.905f };   int lda = 3;   float B[] = { -0.626f, -0.694f, -0.889f, -0.251f, -0.42f, -0.353f };   int ldb = 2;   float B_expected[] = { 0.128383f, 0.232986f, 0.274638f, 0.0819717f, 0.126f, 0.1059f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1677)");     }   };  };  {   int order = 101;   int side = 141;   int uplo = 121;   int trans = 112;   int diag = 131;   int M = 2;   int N = 3;   float alpha = 0.1f;   float A[] = { -0.755f, 0.12f, 0.525f, 0.917f };   int lda = 2;   float B[] = { -0.927f, -0.813f, 0.624f, -0.366f, -0.864f, -0.046f };   int ldb = 3;   float B_expected[] = { 0.0699885f, 0.0613815f, -0.047112f, -0.0446862f, -0.0889848f, 0.0032698f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1678)");     }   };  };  {   int order = 101;   int side = 141;   int uplo = 121;   int trans = 112;   int diag = 132;   int M = 2;   int N = 3;   float alpha = 0.1f;   float A[] = { -0.444f, 0.515f, 0.081f, -0.69f };   int lda = 2;   float B[] = { 0.571f, -0.098f, -0.226f, -0.587f, 0.788f, -0.629f };   int ldb = 3;   float B_expected[] = { 0.0571f, -0.0098f, -0.0226f, -0.0292935f, 0.073753f, -0.074539f };   cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);   {     int i;     for (i = 0; i < 6; i++) {       gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1679)");     }   };  };  {   int order = 101;   int side = 141;   int uplo = 122;   int trans = 112;

⌨️ 快捷键说明

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