matmult.c File Reference

Sparse matrix-vector multiply implementation. More...

#include <oski/common.h>
#include <oski/matrix.h>

Functions

int oski_CheckArgsMatMult (const oski_matrix_t A_tunable, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, const char *caller)
 Checks validity of arguments to a routine with a matrix vector multiply signature.
int oski_MatMult (const oski_matrix_t A_tunable, oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view)
 Computes $y \leftarrow \alpha\cdot\mathrm{op}(A)x + \beta\cdot y$, where $\mathrm{op}(A) \in \{A, A^T, A^H\}$.
void oski_MakeArglistMatMult (oski_matop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, oski_traceargs_MatMult_t *args)
 Initialize a static argument signature.


Detailed Description

Sparse matrix-vector multiply implementation.

This module implements the matrix type-independent version, which performs error-checking first and then calls the the appropriate kernel implementation.


Function Documentation

int oski_CheckArgsMatMult ( const oski_matrix_t  A_tunable,
oski_matop_t  opA,
oski_value_t  alpha,
const oski_vecview_t  x_view,
oski_value_t  beta,
const oski_vecview_t  y_view,
const char *  caller 
)

Checks validity of arguments to a routine with a matrix vector multiply signature.

Returns:
0 if all arguments are OK, or an error code (plus a call to the error handler) otherwise.

References ERR_BAD_ARG, ERR_BAD_MAT, ERR_BAD_VECVIEW, ERR_DIM_MISMATCH, INVALID_MAT, INVALID_VEC, MACRO_TO_STRING, OP_CONJ_TRANS, OP_NORMAL, OP_TRANS, OSKI_CHECK_MATOP, OSKI_ERR_BAD_MAT_MS, OSKI_ERR_BAD_MATOP_MS, OSKI_ERR_BAD_VEC_MS, OSKI_ERR_DIM_MISMATCH_OBJ_MS, OSKI_ERR_DIM_MISMATCH_TRANS_OBJ_MS, OSKI_MATMULT_COMPAT_OBJ_DIMS, OSKI_MATTRANSMULT_COMPAT_OBJ_DIMS, and oski_matstruct_t::props.

void oski_MakeArglistMatMult ( oski_matop_t  opA,
oski_value_t  alpha,
const oski_vecview_t  x_view,
oski_value_t  beta,
const oski_vecview_t  y_view,
oski_traceargs_MatMult_t args 
)


Generated on Fri Apr 8 22:35:19 2011 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.5.9