BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Transposed sparse triangular solve implementation when the matrix is lower triangular and stored in CSR format. More...
#include <assert.h>
#include <oski/config.h>
#include <oski/common.h>
#include <oski/mangle.h>
#include <oski/blas_names.h>
#include <oski/vecview.h>
#include <oski/CSR/format.h>
#include <oski/CSR/module.h>
Defines | |
#define | REGISTER register |
Real-valued, so use explicit 'register' keyword. | |
Functions | |
static void | CSR_MatTransTrisolveLower_Unitdiag_xsX (oski_index_t m, oski_index_t indbase, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, oski_value_t alpha, oski_value_t *restrict x, oski_index_t incx) |
Solves ![]() ![]() | |
static void | CSR_MatTransTrisolveLower_Unitdiag_xs1 (oski_index_t m, oski_index_t indbase, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, oski_value_t alpha, oski_value_t *x) |
Solves ![]() ![]() | |
static void | CSR_MatTransTrisolveLower_Diag_Sorted_xsX (oski_index_t m, oski_index_t indbase, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, oski_value_t alpha, oski_value_t *restrict x, oski_index_t incx) |
Solves ![]() ![]() | |
static void | CSR_MatTransTrisolveLower_Diag_Sorted_xs1 (oski_index_t m, oski_index_t indbase, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, oski_value_t alpha, oski_value_t *x) |
Solves ![]() ![]() | |
static void | CSR_MatTransTrisolveLower_Diag_Unsorted_xsX (oski_index_t m, oski_index_t indbase, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, oski_value_t alpha, oski_value_t *restrict x, oski_index_t incx) |
Solves ![]() ![]() | |
static void | CSR_MatTransTrisolveLower_Diag_Unsorted_xs1 (oski_index_t m, oski_index_t indbase, const oski_index_t *restrict ptr, const oski_index_t *restrict ind, const oski_value_t *restrict val, oski_value_t alpha, oski_value_t *x) |
Solves ![]() ![]() | |
void | CSR_MatTransTrisolveLower (oski_index_t m, oski_index_t indbase, int is_unit, int is_sorted, const oski_index_t *ptr, const oski_index_t *ind, const oski_value_t *val, oski_value_t alpha, oski_value_t *restrict x, oski_index_t num_vecs, oski_index_t rowinc, oski_index_t colinc) |
Transposed sparse triangular solve implementation when the matrix is lower triangular and stored in CSR format.
static void CSR_MatTransTrisolveLower_Diag_Sorted_xs1 | ( | oski_index_t | m, |
oski_index_t | indbase, | ||
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
oski_value_t | alpha, | ||
oski_value_t * | x | ||
) | [static] |
Solves for
, where:
References REGISTER, VAL_ASSIGN, VAL_DIVEQ, and VAL_MSUB.
static void CSR_MatTransTrisolveLower_Diag_Sorted_xsX | ( | oski_index_t | m, |
oski_index_t | indbase, | ||
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
oski_value_t | alpha, | ||
oski_value_t *restrict | x, | ||
oski_index_t | incx | ||
) | [static] |
Solves for
, where:
References REGISTER, VAL_ASSIGN, VAL_DIVEQ, and VAL_MSUB.
static void CSR_MatTransTrisolveLower_Diag_Unsorted_xs1 | ( | oski_index_t | m, |
oski_index_t | indbase, | ||
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
oski_value_t | alpha, | ||
oski_value_t * | x | ||
) | [static] |
Solves for
, where:
References REGISTER, VAL_ASSIGN, VAL_DIVEQ, VAL_INC, VAL_MSUB, and VAL_SET_ZERO.
static void CSR_MatTransTrisolveLower_Diag_Unsorted_xsX | ( | oski_index_t | m, |
oski_index_t | indbase, | ||
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
oski_value_t | alpha, | ||
oski_value_t *restrict | x, | ||
oski_index_t | incx | ||
) | [static] |
Solves for
, where:
References REGISTER, VAL_ASSIGN, VAL_DIVEQ, VAL_INC, VAL_MSUB, and VAL_SET_ZERO.
static void CSR_MatTransTrisolveLower_Unitdiag_xs1 | ( | oski_index_t | m, |
oski_index_t | indbase, | ||
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
oski_value_t | alpha, | ||
oski_value_t * | x | ||
) | [static] |
Solves for
, where:
References REGISTER, VAL_ASSIGN, and VAL_MSUB.
static void CSR_MatTransTrisolveLower_Unitdiag_xsX | ( | oski_index_t | m, |
oski_index_t | indbase, | ||
const oski_index_t *restrict | ptr, | ||
const oski_index_t *restrict | ind, | ||
const oski_value_t *restrict | val, | ||
oski_value_t | alpha, | ||
oski_value_t *restrict | x, | ||
oski_index_t | incx | ||
) | [static] |
Solves for
, where:
References REGISTER, VAL_ASSIGN, and VAL_MSUB.