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

📄 c_s3chke.c

📁 基本的C语言线性代数函数库,在linux下可直接编译;在windows下要显示地申明包含
💻 C
📖 第 1 页 / 共 4 页
字号:
#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_s3chke(char *rout) {   char *sf = ( rout ) ;   float  A[2] = {0.0,0.0},           B[2] = {0.0,0.0},           C[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_sgemm"   ,11)==0) {      cblas_rout = "cblas_sgemm"   ;      cblas_info = 1;      cblas_sgemm( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,                    ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 1;      cblas_sgemm( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,                    ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 1;      cblas_sgemm( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,                    ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 1;      cblas_sgemm( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 2; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 2; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 2 );      chkxer();      cblas_info = 9; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 2 );      chkxer();      cblas_info = 9; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,                   ALPHA, A, 1, B, 2, BETA, C, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,                   ALPHA, A, 2, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,                   ALPHA, A, 2, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,                   ALPHA, A, 2, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = FALSE;      cblas_sgemm( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 6; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 9;  RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,                   ALPHA, A, 1, B, 1, BETA, C, 2 );      chkxer();      cblas_info = 9; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,                   ALPHA, A, 1, B, 2, BETA, C, 2 );      chkxer();      cblas_info = 9; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,                   ALPHA, A, 1, B, 2, BETA, C, 1 );      chkxer();      cblas_info = 9; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,                   ALPHA, A, 2, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,                   ALPHA, A, 2, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 11; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,                   ALPHA, A, 1, B, 2, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,                   ALPHA, A, 1, B, 2, BETA, C, 1 );      chkxer();      cblas_info = 14; RowMajorStrg = TRUE;      cblas_sgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();   } else if (strncmp( sf,"cblas_ssymm"   ,11)==0) {      cblas_rout = "cblas_ssymm"   ;      cblas_info = 1;      cblas_ssymm( INVALID,  CblasRight, CblasLower, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 2; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  INVALID, CblasUpper, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 3; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasLeft, INVALID, 0, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasLeft, CblasUpper, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasRight, CblasUpper, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasLeft, CblasLower, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 4; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasRight, CblasLower, INVALID, 0,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasLeft, CblasUpper, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasRight, CblasUpper, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasLeft, CblasLower, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );      chkxer();      cblas_info = 5; RowMajorStrg = FALSE;      cblas_ssymm( CblasColMajor,  CblasRight, CblasLower, 0, INVALID,                   ALPHA, A, 1, B, 1, BETA, C, 1 );

⌨️ 快捷键说明

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