matpow.h File Reference


Detailed Description

Sparse $A^k\cdot x$ implementation.

#include <oski/matmult.h>

Go to the source code of this file.

Data Structures

struct  oski_traceargs_MatPowMult_t
 Trace argument signature for oski_MatPowMult(). More...

Name mangling.

#define oski_MatPowMult_funcpt   MANGLE_(oski_MatPowMult_funcpt)
#define oski_MatReprPowMult_funcpt   MANGLE_(oski_MatReprPowMult_funcpt)
#define oski_CheckArgsMatPowMult   MANGLE_(oski_CheckArgsMatPowMult)
#define oski_MatPowMult   MANGLE_(oski_MatPowMult)
#define oski_traceargs_MatPowMult_t   MANGLE_(oski_traceargs_MatPowMult_t)
#define oski_MakeArglistMatPowMult   MANGLE_(oski_MakeArglistMatPowMult)

Defines

#define INC_OSKI_MATPOW_H
 oski/matpow.h included.
#define GET_XFLOP_MatPowMult(args)
 Compute the "flop factor.".

Typedefs

typedef int(* oski_MatPowMult_funcpt )(const oski_matrix_t A_tunable, oski_matop_t opA, int power, 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_MatPowMult().
typedef int(* oski_MatReprPowMult_funcpt )(const void *A, const oski_matcommon_t *props, oski_matop_t opA, int power, 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_MatPowMult().

Functions

int oski_MatPowMult (const oski_matrix_t A_tunable, oski_matop_t opA, int power, 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 a power of a matrix times a vector, or $y \leftarrow \alpha\cdot\mathrm{op}(A)^\rho x + \beta\cdot y$.
int oski_CheckArgsMatPowMult (const oski_matrix_t A_tunable, oski_matop_t opA, int power, oski_value_t alpha, const oski_vecview_t x_view, oski_value_t beta, oski_vecview_t y_view, oski_vecview_t T_view, const char *caller)
 Check arguments passed to oski_MatPowMult().
void oski_MakeArglistMatPowMult (oski_matop_t op, int power, 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_MatPowMult_t *args)
 Initialize a static argument signature for a call to oski_MatPowMult().


Define Documentation

#define GET_XFLOP_MatPowMult args   ) 
 

Value:

(2.0 * ((const oski_traceargs_MatPowMult_t *)(args))->num_vecs \
         * ((const oski_traceargs_MatPowMult_t *)(args))->power)
Compute the "flop factor.".


Function Documentation

int oski_CheckArgsMatPowMult const oski_matrix_t  A_tunable,
oski_matop_t  opA,
int  power,
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 arguments passed to oski_MatPowMult().

Returns:
0 if all arguments are OK, or an error code (plus a call to the error handler) otherwise.
Todo:
Need more verbose error messages in the event that the vectors have improper dimensions.


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