blas_names.h

Go to the documentation of this file.
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 */

Generated on Wed Sep 19 16:41:18 2007 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.4.6