Automatically generated by ./gen_trisolve.sh on Wed Jun 8 16:04:35 PDT 2005.
#include <assert.h>
#include <oski/config.h>
#include <oski/common.h>
#include <oski/matrix.h>
#include <oski/blas_names.h>
#include <oski/MBCSR/format.h>
#include <oski/MBCSR/module.h>
Defines | |
#define | REGISTER register |
Real-valued, so use explicit 'register' keyword. | |
#define | MBCSR_MatTrisolve_Lower_v1_aX_xs1 MANGLE_MOD_(MBCSR_MatTrisolve_Lower_v1_aX_xs1_4x6) |
Mangled name for MBCSR_MatTrisolve_Lower_v1_aX_xs1. | |
#define | MBCSR_MatTrisolve_Lower_v1_aX_xsX MANGLE_MOD_(MBCSR_MatTrisolve_Lower_v1_aX_xsX_4x6) |
Mangled name for MBCSR_MatTrisolve_Lower_v1_aX_xsX. | |
#define | MBCSR_MatConjTrisolve_Lower_v1_aX_xs1 MBCSR_MatTrisolve_Lower_v1_aX_xs1 |
Synonym for pure real version. | |
#define | MBCSR_MatConjTrisolve_Lower_v1_aX_xsX MBCSR_MatTrisolve_Lower_v1_aX_xsX |
Synonym for pure real version. | |
#define | MBCSR_MatTransTrisolve_Lower_v1_aX_xs1 MANGLE_MOD_(MBCSR_MatTransTrisolve_Lower_v1_aX_xs1_4x6) |
Mangled name for MBCSR_MatTransTrisolve_Lower_v1_aX_xs1. | |
#define | MBCSR_MatTransTrisolve_Lower_v1_aX_xsX MANGLE_MOD_(MBCSR_MatTransTrisolve_Lower_v1_aX_xsX_4x6) |
Mangled name for MBCSR_MatTransTrisolve_Lower_v1_aX_xsX. | |
#define | MBCSR_MatHermTrisolve_Lower_v1_aX_xs1 MBCSR_MatTransTrisolve_Lower_v1_aX_xs1 |
Synonym for pure real version. | |
#define | MBCSR_MatHermTrisolve_Lower_v1_aX_xsX MBCSR_MatTransTrisolve_Lower_v1_aX_xsX |
Synonym for pure real version. | |
#define | MBCSR_MatTrisolve_Upper_v1_aX_xs1 MANGLE_MOD_(MBCSR_MatTrisolve_Upper_v1_aX_xs1_4x6) |
Mangled name for MBCSR_MatTrisolve_Upper_v1_aX_xs1. | |
#define | MBCSR_MatTrisolve_Upper_v1_aX_xsX MANGLE_MOD_(MBCSR_MatTrisolve_Upper_v1_aX_xsX_4x6) |
Mangled name for MBCSR_MatTrisolve_Upper_v1_aX_xsX. | |
#define | MBCSR_MatConjTrisolve_Upper_v1_aX_xs1 MBCSR_MatTrisolve_Upper_v1_aX_xs1 |
Synonym for pure real version. | |
#define | MBCSR_MatConjTrisolve_Upper_v1_aX_xsX MBCSR_MatTrisolve_Upper_v1_aX_xsX |
Synonym for pure real version. | |
#define | MBCSR_MatTransTrisolve_Upper_v1_aX_xs1 MANGLE_MOD_(MBCSR_MatTransTrisolve_Upper_v1_aX_xs1_4x6) |
Mangled name for MBCSR_MatTransTrisolve_Upper_v1_aX_xs1. | |
#define | MBCSR_MatTransTrisolve_Upper_v1_aX_xsX MANGLE_MOD_(MBCSR_MatTransTrisolve_Upper_v1_aX_xsX_4x6) |
Mangled name for MBCSR_MatTransTrisolve_Upper_v1_aX_xsX. | |
#define | MBCSR_MatHermTrisolve_Upper_v1_aX_xs1 MBCSR_MatTransTrisolve_Upper_v1_aX_xs1 |
Synonym for pure real version. | |
#define | MBCSR_MatHermTrisolve_Upper_v1_aX_xsX MBCSR_MatTransTrisolve_Upper_v1_aX_xsX |
Synonym for pure real version. | |
#define | SubmatReprTrisolve MANGLE_MOD_(SubmatReprTrisolve_4x6) |
Mangled name for primary exportable symbol. | |
Functions | |
void | MBCSR_MatTrisolve_Lower_v1_aX_xs1 (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x) |
The MBCSR implementation of , where x has unit-stride. | |
void | MBCSR_MatTrisolve_Lower_v1_aX_xsX (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x, oski_index_t incx) |
The MBCSR implementation of , where x has general-stride. | |
static void | MatTrisolve_Lower (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is lower triangular. | |
static void | MatConjTrisolve_Lower (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is lower triangular. | |
void | MBCSR_MatTransTrisolve_Lower_v1_aX_xs1 (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x) |
The MBCSR implementation of , where x has unit-stride. | |
void | MBCSR_MatTransTrisolve_Lower_v1_aX_xsX (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x, oski_index_t incx) |
The MBCSR implementation of , where x has general-stride. | |
static void | MatTransTrisolve_Lower (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is lower triangular. | |
static void | MatHermTrisolve_Lower (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is lower triangular. | |
void | MBCSR_MatTrisolve_Upper_v1_aX_xs1 (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x) |
The MBCSR implementation of , where x has unit-stride. | |
void | MBCSR_MatTrisolve_Upper_v1_aX_xsX (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x, oski_index_t incx) |
The MBCSR implementation of , where x has general-stride. | |
static void | MatTrisolve_Upper (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is upper triangular. | |
static void | MatConjTrisolve_Upper (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is upper triangular. | |
void | MBCSR_MatTransTrisolve_Upper_v1_aX_xs1 (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x) |
The MBCSR implementation of , where x has unit-stride. | |
void | MBCSR_MatTransTrisolve_Upper_v1_aX_xsX (oski_index_t M, oski_index_t d0, 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, oski_value_t *restrict x, oski_index_t incx) |
The MBCSR implementation of , where x has general-stride. | |
static void | MatTransTrisolve_Upper (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is upper triangular. | |
static void | MatHermTrisolve_Upper (const oski_submatMBCSR_t *T, oski_value_t alpha, oski_vecview_t x) |
Exported module wrapper for the implementation of the sparse triangular solve operation, where the matrix is upper triangular. | |
int | SubmatReprTrisolve (const oski_submatMBCSR_t *T, int is_lower, oski_matop_t opT, oski_value_t alpha, oski_vecview_t x) |
Entry point to the 4x6 kernel that implements simultaneous multiplication by sparse and . |