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

📄 c_d2chke.c

📁 基本的C语言线性代数函数库,在linux下可直接编译;在windows下要显示地申明包含
💻 C
📖 第 1 页 / 共 3 页
字号:
#include <stdio.h>#include <string.h>#include "cblas.h"#include "cblas_test.h"int cblas_ok, cblas_lerr, cblas_info;int link_xerbla=TRUE;char *cblas_rout;#ifdef F77_Charvoid F77_xerbla(F77_Char F77_srname, void *vinfo);#elsevoid F77_xerbla(char *srname, void *vinfo);#endifvoid chkxer(void) {   extern int cblas_ok, cblas_lerr, cblas_info;   extern int link_xerbla;   extern char *cblas_rout;   if (cblas_lerr == 1 ) {      printf("***** ILLEGAL VALUE OF PARAMETER NUMBER %d NOT DETECTED BY %s *****\n", cblas_info, cblas_rout);      cblas_ok = 0 ;   }   cblas_lerr = 1 ;}void F77_d2chke(char *rout) {   char *sf = ( rout ) ;   double A[2] = {0.0,0.0},           X[2] = {0.0,0.0},           Y[2] = {0.0,0.0},           ALPHA=0.0, BETA=0.0;   extern int cblas_info, cblas_lerr, cblas_ok;   extern int RowMajorStrg;   extern char *cblas_rout;   if (link_xerbla) /* call these first to link */   {      cblas_xerbla(cblas_info,cblas_rout,"");      F77_xerbla(cblas_rout,&cblas_info);   }   cblas_ok = TRUE ;   cblas_lerr = PASSED ;   if (strncmp( sf,"cblas_dgemv",11)==0) {      cblas_rout = "cblas_dgemv";      cblas_info = 1;      cblas_dgemv(INVALID, CblasNoTrans, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 2; RowMajorStrg = FALSE;      cblas_dgemv(CblasColMajor, INVALID, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = FALSE;      cblas_dgemv(CblasColMajor, CblasNoTrans, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_dgemv(CblasColMajor, CblasNoTrans, 0, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 7; RowMajorStrg = FALSE;      cblas_dgemv(CblasColMajor, CblasNoTrans, 2, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = FALSE;      cblas_dgemv(CblasColMajor, CblasNoTrans, 0, 0,                   ALPHA, A, 1, X, 0, BETA, Y, 1 );      chkxer();      cblas_info = 12; RowMajorStrg = FALSE;      cblas_dgemv(CblasColMajor, CblasNoTrans, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 0 );      chkxer();      cblas_info = 2; RowMajorStrg = TRUE; RowMajorStrg = TRUE;      cblas_dgemv(CblasRowMajor, INVALID, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = TRUE;      cblas_dgemv(CblasRowMajor, CblasNoTrans, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = TRUE;      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 7; RowMajorStrg = TRUE;      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, 2,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = TRUE;      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, 0,                   ALPHA, A, 1, X, 0, BETA, Y, 1 );      chkxer();      cblas_info = 12; RowMajorStrg = TRUE;      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 0 );      chkxer();   } else if (strncmp( sf,"cblas_dgbmv",11)==0) {      cblas_rout = "cblas_dgbmv";      cblas_info = 1; RowMajorStrg = FALSE;      cblas_dgbmv(INVALID, CblasNoTrans, 0, 0, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 2; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, INVALID, 0, 0, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, CblasNoTrans, INVALID, 0, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, CblasNoTrans, 0, INVALID, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, CblasNoTrans, 0, 0, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, CblasNoTrans, 2, 0, 0, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, CblasNoTrans, 0, 0, 1, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, CblasNoTrans, 0, 0, 0, 0,                   ALPHA, A, 1, X, 0, BETA, Y, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = FALSE;      cblas_dgbmv(CblasColMajor, CblasNoTrans, 0, 0, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 0 );      chkxer();      cblas_info = 2; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, INVALID, 0, 0, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, CblasNoTrans, INVALID, 0, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, CblasNoTrans, 0, INVALID, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, CblasNoTrans, 0, 0, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, CblasNoTrans, 2, 0, 0, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 1, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 0, 0,                   ALPHA, A, 1, X, 0, BETA, Y, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = TRUE;      cblas_dgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 0 );      chkxer();   } else if (strncmp( sf,"cblas_dsymv",11)==0) {      cblas_rout = "cblas_dsymv";      cblas_info = 1; RowMajorStrg = FALSE;      cblas_dsymv(INVALID, CblasUpper, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 2; RowMajorStrg = FALSE;      cblas_dsymv(CblasColMajor, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = FALSE;      cblas_dsymv(CblasColMajor, CblasUpper, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = FALSE;      cblas_dsymv(CblasColMajor, CblasUpper, 2,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 8; RowMajorStrg = FALSE;      cblas_dsymv(CblasColMajor, CblasUpper, 0,                   ALPHA, A, 1, X, 0, BETA, Y, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = FALSE;      cblas_dsymv(CblasColMajor, CblasUpper, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 0 );      chkxer();      cblas_info = 2; RowMajorStrg = TRUE;      cblas_dsymv(CblasRowMajor, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = TRUE;      cblas_dsymv(CblasRowMajor, CblasUpper, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = TRUE;      cblas_dsymv(CblasRowMajor, CblasUpper, 2,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 8; RowMajorStrg = TRUE;      cblas_dsymv(CblasRowMajor, CblasUpper, 0,                   ALPHA, A, 1, X, 0, BETA, Y, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = TRUE;      cblas_dsymv(CblasRowMajor, CblasUpper, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 0 );      chkxer();   } else if (strncmp( sf,"cblas_dsbmv",11)==0) {      cblas_rout = "cblas_dsbmv";      cblas_info = 1; RowMajorStrg = FALSE;      cblas_dsbmv(INVALID, CblasUpper, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 2; RowMajorStrg = FALSE;      cblas_dsbmv(CblasColMajor, INVALID, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = FALSE;      cblas_dsbmv(CblasColMajor, CblasUpper, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_dsbmv(CblasColMajor, CblasUpper, 0, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 7; RowMajorStrg = FALSE;      cblas_dsbmv(CblasColMajor, CblasUpper, 0, 1,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = FALSE;      cblas_dsbmv(CblasColMajor, CblasUpper, 0, 0,                   ALPHA, A, 1, X, 0, BETA, Y, 1 );      chkxer();      cblas_info = 12; RowMajorStrg = FALSE;      cblas_dsbmv(CblasColMajor, CblasUpper, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 0 );      chkxer();      cblas_info = 2; RowMajorStrg = TRUE;      cblas_dsbmv(CblasRowMajor, INVALID, 0, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = TRUE;      cblas_dsbmv(CblasRowMajor, CblasUpper, INVALID, 0,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = TRUE;      cblas_dsbmv(CblasRowMajor, CblasUpper, 0, INVALID,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 7; RowMajorStrg = TRUE;      cblas_dsbmv(CblasRowMajor, CblasUpper, 0, 1,                   ALPHA, A, 1, X, 1, BETA, Y, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = TRUE;      cblas_dsbmv(CblasRowMajor, CblasUpper, 0, 0, 

⌨️ 快捷键说明

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