atl_f77trtri.c

来自「基于Blas CLapck的.用过的人知道是干啥的」· C语言 代码 · 共 66 行

C
66
字号
#include "atlas_misc.h"#include "atlas_tst.h"#include "atlas_f77.h"#if defined(NoChange)   #define F77TRTRI Mjoin(PRE,trtri)#elif defined (UpCase)   #define F77TRTRI Mjoin(PREU,TRTRI)#elif defined (Add_) || defined(Add__)   #define F77TRTRI Mjoin(PRE,trtri_)#endif#define f77trtri Mjoin(PATL,f77trtri)int f77trtri(const enum ATLAS_UPLO Uplo, const enum ATLAS_DIAG Diag,	     const int N, TYPE *A, const int lda){   #if defined(StringSunStyle)      #if defined(ATL_FunkyInts)         F77_INTEGER ONE=1;      #else         int ONE=1;      #endif   #elif defined(StringStructVal) || defined(StringStructPtr) || defined(StringCrayStyle)      F77_CHAR fuplo;      F77_CHAR fdiag;   #endif   #ifdef ATL_FunkyInts      const F77_INTEGER F77N=N, F77lda=lda;      F77_INTEGER info;   #else      int info;      #define F77N N      #define F77lda lda   #endif   char cuplo;   char cdiag;   if (Uplo == AtlasUpper) cuplo = 'U';   else cuplo = 'L';   if (Diag == AtlasUnit) cdiag = 'U';   else cdiag = 'N';   #if defined(StringSunStyle)      F77TRTRI(&cuplo, &cdiag, &F77N, A, &F77lda, &info, ONE);   #elif defined(StringCrayStyle)      fuplo = ATL_C2F_TransChar(cuplo);      fdiag = ATL_C2F_TransChar(cdiag);      F77TRTRI(fuplo, fdiag, &F77N, A, &F77lda, &info);   #elif defined(StringStructVal)      fuplo.len = 1;      fdiag.len = 1;      fuplo.cp = &cuplo;      fdiag.cp = &cdiag;      F77TRTRI(fuplo, fdiag, &F77N, A, &F77lda, &info);   #elif defined(StringStructPtr)      fuplo.len = 1;      fdiag.len = 1;      fuplo.cp = &cuplo;      fdiag.cp = &cdiag;      F77TRTRI(&fuplo, &fdiag, &F77N, A, &F77lda, &info);   #else      fprintf(stderr, "\n\nF77/C interface not defined!!\n\n");      exit(-1);   #endif   return(info);}

⌨️ 快捷键说明

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