3x1.c File Reference


Detailed Description

The $3\times 1$ MBCSR implementation of $A^TA\cdot x$ and $A^HA\cdot x$.

Automatically generated by ./gen_ata.sh on Wed Jun 8 15:55:19 PDT 2005.

#include <assert.h>
#include <oski/config.h>
#include <oski/common.h>
#include <oski/mangle.h>
#include <oski/vecview.h>
#include <oski/MBCSR/format.h>
#include <oski/MBCSR/module.h>

Defines

#define REGISTER   register
 Real-valued, so use explicit 'register' keyword.
#define MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1   MANGLE_MOD_(MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1_3x1)
 Mangled name for MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1.
#define MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX   MANGLE_MOD_(MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX_3x1)
 Mangled name for MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX.
#define SubmatReprTransSubmatReprMult   MANGLE_MOD_(SubmatReprTransSubmatReprMult_3x1)
 Mangled name for primary exportable symbol, SubmatReprTransSubmatReprMult.
#define MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1   MANGLE_MOD_(MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1_3x1)
 Mangled name for MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1.
#define MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX   MANGLE_MOD_(MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX_3x1)
 Mangled name for MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX.
#define SubmatReprHermSubmatReprMult   MANGLE_MOD_(SubmatReprHermSubmatReprMult_3x1)
 Mangled name for primary exportable symbol, SubmatReprHermSubmatReprMult.

Functions

void MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1 (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_value_t *restrict y, oski_value_t *restrict t, oski_index_t inct)
 The $3\times 1$ MBCSR implementation of $A^TA\cdot x$, where the source and destination vectors have unit-stride and unit-stride, respectively.
void MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_index_t incx, oski_value_t *restrict y, oski_index_t incy, oski_value_t *restrict t, oski_index_t inct)
 The $3\times 1$ MBCSR implementation of $A^TA\cdot x$, where the source and destination vectors have general-stride and general-stride, respectively.
int SubmatReprTransSubmatReprMult (const oski_submatMBCSR_t *A, oski_value_t alpha, const oski_vecview_t x, oski_vecview_t y, oski_vecview_t t)
 Exported module wrapper for the $3\times 1$ implementation of $A^TA\cdot x$.
void MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1 (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_value_t *restrict y, oski_value_t *restrict t, oski_index_t inct)
 The $3\times 1$ MBCSR implementation of $A^HA\cdot x$, where the source and destination vectors have unit-stride and unit-stride, respectively.
void MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX (oski_index_t M, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, const oski_value_t *restrict diag, oski_value_t alpha, const oski_value_t *restrict x, oski_index_t incx, oski_value_t *restrict y, oski_index_t incy, oski_value_t *restrict t, oski_index_t inct)
 The $3\times 1$ MBCSR implementation of $A^HA\cdot x$, where the source and destination vectors have general-stride and general-stride, respectively.
int SubmatReprHermSubmatReprMult (const oski_submatMBCSR_t *A, oski_value_t alpha, const oski_vecview_t x, oski_vecview_t y, oski_vecview_t t)
 Exported module wrapper for the $3\times 1$ implementation of $A^HA\cdot x$.


Function Documentation

void MBCSR_MatHermMatMult_v1_aX_b1_xs1_ys1 oski_index_t  M,
const oski_index_t *restrict  ptr,
const oski_index_t *restrict  ind,
const oski_value_t *restrict  val,
const oski_value_t *restrict  diag,
oski_value_t  alpha,
const oski_value_t *restrict  x,
oski_value_t *restrict  y,
oski_value_t *restrict  t,
oski_index_t  inct
 

The $3\times 1$ MBCSR implementation of $A^HA\cdot x$, where the source and destination vectors have unit-stride and unit-stride, respectively.

Parameter 'tp' may be NULL if no intermediate vector output is desired.

void MBCSR_MatHermMatMult_v1_aX_b1_xsX_ysX oski_index_t  M,
const oski_index_t *restrict  ptr,
const oski_index_t *restrict  ind,
const oski_value_t *restrict  val,
const oski_value_t *restrict  diag,
oski_value_t  alpha,
const oski_value_t *restrict  x,
oski_index_t  incx,
oski_value_t *restrict  y,
oski_index_t  incy,
oski_value_t *restrict  t,
oski_index_t  inct
 

The $3\times 1$ MBCSR implementation of $A^HA\cdot x$, where the source and destination vectors have general-stride and general-stride, respectively.

Parameter 'tp' may be NULL if no intermediate vector output is desired.

void MBCSR_MatTransMatMult_v1_aX_b1_xs1_ys1 oski_index_t  M,
const oski_index_t *restrict  ptr,
const oski_index_t *restrict  ind,
const oski_value_t *restrict  val,
const oski_value_t *restrict  diag,
oski_value_t  alpha,
const oski_value_t *restrict  x,
oski_value_t *restrict  y,
oski_value_t *restrict  t,
oski_index_t  inct
 

The $3\times 1$ MBCSR implementation of $A^TA\cdot x$, where the source and destination vectors have unit-stride and unit-stride, respectively.

Parameter 'tp' may be NULL if no intermediate vector output is desired.

void MBCSR_MatTransMatMult_v1_aX_b1_xsX_ysX oski_index_t  M,
const oski_index_t *restrict  ptr,
const oski_index_t *restrict  ind,
const oski_value_t *restrict  val,
const oski_value_t *restrict  diag,
oski_value_t  alpha,
const oski_value_t *restrict  x,
oski_index_t  incx,
oski_value_t *restrict  y,
oski_index_t  incy,
oski_value_t *restrict  t,
oski_index_t  inct
 

The $3\times 1$ MBCSR implementation of $A^TA\cdot x$, where the source and destination vectors have general-stride and general-stride, respectively.

Parameter 'tp' may be NULL if no intermediate vector output is desired.


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