📄 ltfat_blas.c
字号:
#include "config.h"#include "cblas.h"#ifdef HAVE_BLAS#include "f77-fcn.h"#ifdef __cplusplusextern "C" {#endif F77_RET_T F77_FUNC (zgemm, ZGEMM) (F77_CONST_CHAR_ARG_DECL TransA, F77_CONST_CHAR_ARG_DECL TransB, const int *M, const int *N, const int *K, const double *alpha, const double *a, const int *lda, double *b, const int *ldb, const double *beta, double *c, const int *ldc F77_CHAR_ARG_LEN_DECL F77_CHAR_ARG_LEN_DECL);#ifdef __cplusplus}#endif#endif /* end of HAVE_BLAS */void ltfat_zgemm(const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const ltfat_complex *alpha, const ltfat_complex *A, const int lda, const ltfat_complex *B, const int ldb, const ltfat_complex *beta, ltfat_complex *C, const int ldc)#ifdef HAVE_CBLAS{ cblas_zgemm(CblasColMajor, TransA, TransB, M, N, K, (double*)alpha, (double*)A, lda, (double*)B, ldb, (double*)beta, (double*)C, ldc);}#endif#ifdef HAVE_BLAS{ char ca, cb; if (TransA == CblasNoTrans) ca='N'; if (TransA == CblasConjTrans) ca='C'; if (TransB == CblasNoTrans) cb='N'; if (TransB == CblasConjTrans) cb='C'; F77_FUNC (zgemm, ZGEMM) (F77_CONST_CHAR_ARG2 (&ca, 1), F77_CONST_CHAR_ARG2 (&cb, 1), &M, &N, &K, (double*)alpha, (double*)A, &lda, (double*)B, &ldb, (double*)beta, (double*)C, &ldc F77_CHAR_ARG_LEN (1) F77_CHAR_ARG_LEN (1) ); }#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -