|
BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Conjugate-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_MatConjTransTrisolveLower_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 for , where: | |
| static void | CSR_MatConjTransTrisolveLower_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 for , where: | |
| static void | CSR_MatConjTransTrisolveLower_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 for , where: | |
| static void | CSR_MatConjTransTrisolveLower_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 for , where: | |
| static void | CSR_MatConjTransTrisolveLower_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 for , where: | |
| static void | CSR_MatConjTransTrisolveLower_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 for , where: | |
| void | CSR_MatConjTransTrisolveLower (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) |
Conjugate-transposed sparse triangular solve implementation when the matrix is lower triangular and stored in CSR format.
| static void CSR_MatConjTransTrisolveLower_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:
is lower triangular,
is an array with unit-stride. References REGISTER, VAL_ASSIGN, VAL_DIVEQ_CONJ, and VAL_MSUB_CONJ.
| static void CSR_MatConjTransTrisolveLower_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:
is lower triangular,
is an array with general stride. References REGISTER, VAL_ASSIGN, VAL_DIVEQ_CONJ, and VAL_MSUB_CONJ.
| static void CSR_MatConjTransTrisolveLower_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:
is lower triangular,
is an array with unit-stride. References REGISTER, VAL_ASSIGN, VAL_DIVEQ_CONJ, VAL_INC, VAL_MSUB_CONJ, and VAL_SET_ZERO.
| static void CSR_MatConjTransTrisolveLower_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:
is lower triangular,
is an array with general stride. References REGISTER, VAL_ASSIGN, VAL_DIVEQ_CONJ, VAL_INC, VAL_MSUB_CONJ, and VAL_SET_ZERO.
| static void CSR_MatConjTransTrisolveLower_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:
is lower triangular,
is an array with unit-stride. References REGISTER, VAL_ASSIGN, and VAL_MSUB_CONJ.
| static void CSR_MatConjTransTrisolveLower_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:
is lower triangular,
is an array with general stride. References REGISTER, VAL_ASSIGN, and VAL_MSUB_CONJ.
1.7.6.1