ata.h File Reference

Sparse $A^TA\cdot x$ implementation. More...

#include <oski/matmult.h>

Go to the source code of this file.

Data Structures

struct  oski_traceargs_MatTransMatMult_t
 Trace argument signature for oski_MatTransMatMult(). More...

Defines

#define INC_OSKI_ATA_H
 oski/ata.h included.
Name mangling.
#define oski_MatTransMatMult_funcpt   MANGLE_(oski_MatTransMatMult_funcpt)
#define oski_MatReprTransMatReprMult_funcpt   MANGLE_(oski_MatReprTransMatReprMult_funcpt)
#define oski_MatTransMatMult   MANGLE_(oski_MatTransMatMult)
#define oski_CheckArgsMatTransMatMult   MANGLE_(oski_CheckArgsMatTransMatMult)
#define oski_traceargs_MatTransMatMult_t   MANGLE_(oski_traceargs_MatTransMatMult_t)
#define oski_MakeArglistMatTransMatMult   MANGLE_(oski_MakeArglistMatTransMatMult)

Typedefs

typedef int(* oski_MatTransMatMult_funcpt )(const oski_matrix_t A_tunable, oski_ataop_t op, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_vecview_t t_view)
 Function pointer type for oski_MatTransMatMult().
typedef int(* oski_MatReprTransMatReprMult_funcpt )(const void *A, const oski_matcommon_t *props, oski_ataop_t op, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_vecview_t t_view)
 Function pointer type for a matrix type-specific implementation of oski_MatTransMatMult().

Functions

int oski_MatTransMatMult (const oski_matrix_t A_tunable, oski_ataop_t op, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_vecview_t t_view)
 Computes $y \leftarrow \alpha\cdot\mathrm{op}(A)x + \beta\cdot y$, where $\mathrm{op}(A) \in \{AA^T, A^TA, AA^H, A^HA\}$.
int oski_CheckArgsMatTransMatMult (const oski_matrix_t A_tunable, oski_ataop_t op, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, const oski_vecview_t t_view, const char *caller)
 Check input arguments for a routine with a signature like oski_MatTransMatMult().

Tracing.

#define GET_XFLOP_MatTransMatMult(args)   (4.0*((const oski_traceargs_MatTransMatMult_t *)(args))->num_vecs)
 Compute the "flop factor.".
void oski_MakeArglistMatTransMatMult (oski_ataop_t opA, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, const oski_vecview_t t_view, oski_traceargs_MatTransMatMult_t *args)
 Initialize a static argument signature for oski_MatTransMatMult.


Detailed Description

Sparse $A^TA\cdot x$ implementation.


Define Documentation

#define INC_OSKI_ATA_H

oski/ata.h included.


Function Documentation

int oski_CheckArgsMatTransMatMult ( const oski_matrix_t  A_tunable,
oski_ataop_t  op,
oski_value_t  alpha,
const oski_vecview_t  x_view,
oski_value_t  beta,
const oski_vecview_t  y_view,
const oski_vecview_t  t_view,
const char *  caller 
)

Check input arguments for a routine with a signature like oski_MatTransMatMult().

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_A_AH, OP_A_AT, OP_AH_A, OP_AT_A, OSKI_CHECK_ATAOP, OSKI_ERR_BAD_ATAOP_MS, OSKI_ERR_BAD_MAT_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.


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