a_and_at.h File Reference


Detailed Description

Sparse simultaneous multiplication by $A$ and $A^T$.

#include <oski/matmult.h>

Go to the source code of this file.

Data Structures

struct  oski_traceargs_MatMultAndMatTransMult_t
 Store features of the input arguments to the oski_MatMultAndMatTransMult() kernel. More...

Name mangling.

#define oski_MatMultAndMatTransMult_funcpt   MANGLE_(oski_MatMultAndMatTransMult_funcpt)
#define oski_MatReprMultAndMatReprTransMult_funcpt   MANGLE_(oski_MatReprMultAndMatReprTransMult_funcpt)
#define oski_MatMultAndMatTransMult   MANGLE_(oski_MatMultAndMatTransMult)
#define oski_CheckArgsMatMultAndMatTransMult   MANGLE_(oski_CheckArgsMatMultAndMatTransMult)
#define oski_traceargs_MatMultAndMatTransMult_t   MANGLE_(oski_traceargs_MatMultAndMatTransMult_t)
#define oski_MakeArglistMatMultAndMatTransMult   MANGLE_(oski_MakeArglistMatMultAndMatTransMult)

Tracing.

#define GET_XFLOP_MatMultAndMatTransMult(args)   (4.0*((const oski_traceargs_MatMultAndMatTransMult_t *)(args))->num_vecs)
 Compute the "flop factor.".
void oski_MakeArglistMatMultAndMatTransMult (oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, const oski_vecview_t y_view, oski_matop_t opA, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, const oski_vecview_t z_view, oski_traceargs_MatMultAndMatTransMult_t *args)
 Initialize a static argument signature for a call to oski_MatMultAndMatTransMult().

Defines

#define INC_OSKI_A_AND_AT_H
 oski/a_and_at.h included.

Typedefs

typedef int(* oski_MatMultAndMatTransMult_funcpt )(const oski_matrix_t A_tunable, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_matop_t opA, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, oski_vecview_t z_view)
 Function pointer type for oski_MatMultAndMatTransMult().
typedef int(* oski_MatReprMultAndMatReprTransMult_funcpt )(const void *A, const oski_matcommon_t *props, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_matop_t opA, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, oski_vecview_t z_view)
 Function pointer type for a matrix type-specific implementation of oski_MatMultAndMatTransMult().

Functions

int oski_MatMultAndMatTransMult (const oski_matrix_t A_tunable, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_matop_t opA, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, oski_vecview_t z_view)
 Computes $y \leftarrow \alpha\cdot Ax + \beta\cdot y$ and $z \leftarrow \omega\cdot\mathrm{op}(A)x + \zeta\cdot z$, where $\mathrm{op}(A) \in \{A, A^T, A^H\}$.
int oski_CheckArgsMatMultAndMatTransMult (const oski_matrix_t A_tunable, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_matop_t op, oski_value_t omega, const oski_vecview_t w_view, oski_value_t zeta, oski_vecview_t z_view, const char *caller)
 Verify the arguments to a function with a calling signature like oski_MatMultAndMatTransMult().


Function Documentation

int oski_CheckArgsMatMultAndMatTransMult const oski_matrix_t  A_tunable,
oski_value_t  alpha,
const oski_vecview_t  x,
oski_value_t  beta,
oski_vecview_t  y,
oski_matop_t  op,
oski_value_t  omega,
const oski_vecview_t  w,
oski_value_t  zeta,
oski_vecview_t  z,
const char *  caller
 

Verify the arguments to a function with a calling signature like oski_MatMultAndMatTransMult().

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


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