|
TBCI Numerical high perf. C++ Library
2.8.0
|
Optimized matrix operations ... More...

Go to the source code of this file.
Classes | |
| class | Matrix< T > |
| class | TMatrix< T > |
| class | TSMatrix< T > |
| class | Vector< T > |
| class | TVector< T > |
| Temporary Base Class Idiom: Class TVector is used for temporary variables. More... | |
| class | TSVector< T > |
Macros | |
| #define | COST_MATVEC(r, c) |
Functions | |
| template<typename T > | |
| void | do_old_mat_mat_mult (const unsigned start, const unsigned end, TMatrix< T > *res, const Matrix< T > *a, const Matrix< T > *b) |
| template<typename T > | |
| void | do_mat_mat_mult (const unsigned start, const unsigned end, TMatrix< T > *res, const Matrix< T > *a, const Matrix< T > *b) |
| TODO: Provide plain version of mat-mat and mat-vec mult! More... | |
| template<typename T > | |
| void | do_mat_vec_mult (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const Vector< T > *vec) |
| template<typename T > | |
| void | do_mat_tsv_mult (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const TSVector< T > *tsv) |
| template<typename T > | |
| void | do_mat_vec_transmult_exact (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const Vector< T > *vec) |
| template<typename T > | |
| void | do_mat_vec_transmult (const unsigned start, const unsigned end, TVector< T > *res, const Matrix< T > *mat, const Vector< T > *vec) |
Optimized matrix operations ...
Kurt Garloff kurt@garloff.de, 07/2002, GNU LGPL $id$
Definition in file matrix_kernels.h.
| #define COST_MATVEC | ( | r, | |
| c | |||
| ) |
Definition at line 147 of file matrix_kernels.h.
| void do_mat_mat_mult | ( | const unsigned | start, |
| const unsigned | end, | ||
| TMatrix< T > * | res, | ||
| const Matrix< T > * | a, | ||
| const Matrix< T > * | b | ||
| ) |
TODO: Provide plain version of mat-mat and mat-vec mult!
Definition at line 122 of file matrix_kernels.h.
References TMatrix< T >::columns(), do_exactsum2(), do_old_mat_mat_mult(), TMatrix< T >::getrowptr(), i, RESTRICT, and T.
Referenced by INST().
| void do_mat_tsv_mult | ( | const unsigned | start, |
| const unsigned | end, | ||
| TVector< T > * | res, | ||
| const Matrix< T > * | mat, | ||
| const TSVector< T > * | tsv | ||
| ) |
Definition at line 177 of file matrix_kernels.h.
References TMatrix< T >::col, do_exactsum2(), fact(), TSVector< T >::getfac(), TMatrix< T >::mat, PREFETCH_R, T, TBCI_SIMD_ALIGN, UNLIKELY, BVector< T >::vec, and TSVector< T >::vec.
Referenced by Matrix< T >::operator*().
| void do_mat_vec_mult | ( | const unsigned | start, |
| const unsigned | end, | ||
| TVector< T > * | res, | ||
| const Matrix< T > * | mat, | ||
| const Vector< T > * | vec | ||
| ) |
Definition at line 151 of file matrix_kernels.h.
References TMatrix< T >::col, do_exactsum2(), TMatrix< T >::mat, PREFETCH_R, T, TBCI_SIMD_ALIGN, UNLIKELY, and BVector< T >::vec.
Referenced by job_mat_vec_mult().
| void do_mat_vec_transmult | ( | const unsigned | start, |
| const unsigned | end, | ||
| TVector< T > * | res, | ||
| const Matrix< T > * | mat, | ||
| const Vector< T > * | vec | ||
| ) |
Definition at line 237 of file matrix_kernels.h.
References do_exactsum2(), do_mat_vec_transmult_exact(), fac, TVector< T >::get(), TMatrix< T >::mat, PREFETCH_R, TMatrix< T >::row, TVector< T >::setval(), T, and BVector< T >::vec.
Referenced by job_mat_vec_transmult().
| void do_mat_vec_transmult_exact | ( | const unsigned | start, |
| const unsigned | end, | ||
| TVector< T > * | res, | ||
| const Matrix< T > * | mat, | ||
| const Vector< T > * | vec | ||
| ) |
Definition at line 209 of file matrix_kernels.h.
References fac, TVector< T >::get(), TMatrix< T >::get(), TVector< T >::getcref(), PREFETCH_R, TMatrix< T >::row, TVector< T >::setval(), T, and y.
Referenced by do_mat_vec_transmult().
| void do_old_mat_mat_mult | ( | const unsigned | start, |
| const unsigned | end, | ||
| TMatrix< T > * | res, | ||
| const Matrix< T > * | a, | ||
| const Matrix< T > * | b | ||
| ) |
Definition at line 20 of file matrix_kernels.h.
References TMatrix< T >::columns(), do_exactsum2(), TMatrix< T >::get(), TMatrix< T >::getrowptr(), i, PREFETCH_R, PREFETCH_W, TMatrix< T >::set(), TMatrix< T >::setval(), T, and y.
Referenced by do_mat_mat_mult().
1.8.6