BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00010 #if !defined(INC_OSKI_BLAS_NAMES_H) 00011 00012 #define INC_OSKI_BLAS_NAMES_H 00013 00014 #include <oski/config.h> 00015 00016 #if !defined(F77_FUNC) 00017 00018 #define F77_FUNC(x, y) x 00019 #endif 00020 00043 #define MAKE_BLAS_NAME0(tag, name, TAG, NAME) \ 00044 F77_FUNC(tag ## name, TAG ## NAME) 00045 00050 #define MAKE_BLAS_NAME0_I(itag, tag, name, ITAG, TAG, NAME) \ 00051 F77_FUNC(itag ## tag ## name, ITAG ## TAG ## NAME) 00052 00063 #define MAKE_BLAS_NAME1(tag, name, TAG, NAME) \ 00064 MAKE_BLAS_NAME0(tag, name, TAG, NAME) 00065 00070 #define MAKE_BLAS_NAME1_I(itag, tag, name, ITAG, TAG, NAME) \ 00071 MAKE_BLAS_NAME0_I(itag, tag, name, ITAG, TAG, NAME) 00072 00081 #define MAKE_BLAS_NAME(name, NAME) \ 00082 MAKE_BLAS_NAME1(VAL_TAG, name, VAL_TAG_CAPS, NAME) 00083 00088 #define MAKE_BLAS_NAME_I(name, NAME) \ 00089 MAKE_BLAS_NAME1_I(IND_TAG, VAL_TAG, name, \ 00090 IND_TAG_CAPS, VAL_TAG_CAPS, NAME) 00091 00097 #if IND_TAG_CHAR == 'i' /* Use standard names */ 00098 # define BLAS_xSCAL MAKE_BLAS_NAME(scal, SCAL) 00099 # define BLAS_xAXPY MAKE_BLAS_NAME(axpy, AXPY) 00100 # define BLAS_xGEMV MAKE_BLAS_NAME(gemv, GEMV) 00101 # define BLAS_xTRSV MAKE_BLAS_NAME(trsv, TRSV) 00102 #else /* non-standard integer type */ 00103 # define BLAS_xSCAL MAKE_BLAS_NAME_I(scal, SCAL) 00104 # define BLAS_xAXPY MAKE_BLAS_NAME_I(axpy, AXPY) 00105 # define BLAS_xGEMV MAKE_BLAS_NAME_I(gemv, GEMV) 00106 # define BLAS_xTRSV MAKE_BLAS_NAME_I(trsv, TRSV) 00107 #endif 00108 00119 void BLAS_xSCAL (const oski_index_t * len, oski_value_t * alpha, 00120 oski_value_t * x, const oski_index_t * stride); 00121 00133 void BLAS_xAXPY (const oski_index_t * len, const oski_value_t * alpha, 00134 const oski_value_t * x, const oski_index_t * incx, 00135 oski_value_t * y, const oski_index_t * incy); 00136 00154 void BLAS_xGEMV (const char *op, 00155 const oski_index_t * m, const oski_index_t * n, 00156 const oski_value_t * alpha, 00157 const oski_value_t * A, const oski_index_t * lda, 00158 const oski_value_t * x, const oski_index_t * incx, 00159 const oski_value_t * beta, oski_value_t * y, 00160 const oski_index_t * incy); 00161 00178 void BLAS_xTRSV (const char* shape, const char* op, const char* diag, 00179 const oski_index_t* n, 00180 const oski_value_t* A, const oski_index_t* lda, 00181 oski_value_t* x, const oski_index_t* incx); 00182 00183 #endif 00184 00185 /* eof */