00001
00007 #if !defined(INC_OSKI_BLAS_H)
00008
00009 #define INC_OSKI_BLAS_H
00010
00011 #include <oski/vecview.h>
00012
00013 #if defined(DO_NAME_MANGLING)
00014
00016 #define oski_ZeroVecView MANGLE_(oski_ZeroVecView)
00017 #define oski_ConjVecView MANGLE_(oski_ConjVecView)
00018 #define oski_ScaleVecView MANGLE_(oski_ScaleVecView)
00019 #define oski_AXPYVecView MANGLE_(oski_AXPYVecView)
00020 #define oski_RectScaledIdentityMult MANGLE_(oski_RectScaledIdentityMult)
00021
00022 #endif
00023
00025 #define ARE_VECVIEW_DIMS_EQUAL( x, y ) \
00026 (((x)->num_rows == (y)->num_rows) && ((x)->num_cols == (y)->num_cols))
00027
00031 int oski_ZeroVecView (oski_vecview_t x);
00032
00036 int oski_ScaleVecView (oski_vecview_t x, oski_value_t alpha);
00037
00042 int oski_ConjVecView (oski_vecview_t x);
00043
00047 int oski_AXPYVecView (const oski_vecview_t x, oski_value_t alpha,
00048 oski_vecview_t y);
00049
00055 int oski_RectScaledIdentityMult (oski_value_t alpha,
00056 const oski_vecview_t x, oski_vecview_t y);
00057
00063 int oski_DenseMatMult (const oski_vecview_t A, oski_matop_t opA,
00064 oski_value_t alpha, const oski_vecview_t x,
00065 oski_value_t beta, const oski_vecview_t y);
00066
00067 #endif
00068
00069