Go to the documentation of this file.
6 #ifndef COPASI_blaswrap
7 #define COPASI_blaswrap
19 #ifdef HAVE_BLASWRAP_H
23 # include "mkl_blas.h"
30 # define idamax_ idamax
33 # if (defined HAVE_CLAPACK_H || defined HAVE_LAPACK_H)
34 # if (defined WIN32 && defined HAVE_LAPACK_H)
41 # define idamax_ IDAMAX
42 # endif // (defined WIN32 && defined HAVE_LAPACK_H)
44 # if (defined HAVE_CLAPACK_H && !defined NO_BLAS_WRAP && !defined HAVE_APPLE)
45 # define daxpy_ f2c_daxpy
46 # define dcopy_ f2c_dcopy
47 # define ddot_ f2c_ddot
48 # define dgemm_ f2c_dgemm
49 # define dnrm2_ f2c_dnrm2
50 # define dscal_ f2c_dscal
51 # define idamax_ f2c_idamax
52 # endif // (defined HAVE_CLAPACK_H && !defined NO_BLAS_WRAP && !defined HAVE_APPLE)
54 # endif // (defined HAVE_CLAPACK_H || defined HAVE_LAPACK_H)
55 #endif // HAVE_BLASWRAP_H
79 # include <Accelerate/Accelerate.h>
80 # define daxpy_(N, ALPHA, X, INCX, Y, INCY) \
81 cblas_daxpy(*N, *ALPHA, X, *INCX, Y, *INCY)
82 # define dcopy_(N, X, INCX, Y, INCY) \
83 cblas_dcopy(*N, X, *INCX, Y, *INCY)
84 # define ddot_(N, X, INCX, Y, INCY) \
85 cblas_ddot(*N, X, *INCX, Y, *INCY)
86 # define dgemm_(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC) \
87 cblas_dgemm(CblasColMajor, \
88 (*TRANSA == 'N' ? CblasNoTrans: CblasTrans), \
89 (*TRANSB == 'N' ? CblasNoTrans: CblasTrans), \
90 *M, *N, *K, *ALPHA, A, *LDA, B, *LDB, *BETA, C, *LDC)
91 # define dscal_(N, ALPHA, X, INCX) cblas_dscal(*N, *ALPHA, X *INCX)
92 # define dnrm2_(N, X, INCX) cblas_dnrm2(*N, X, *INCX)
93 # define idamax_(N, X, INCX) \
94 cblas_idamax(*N, X, *INCX)
109 # define min _cpp_min
110 # define max _cpp_max
114 #endif // COPASI_blaswrap