|
TBCI Numerical high perf. C++ Library
2.8.0
|
#include "tbci/bvector.h"#include "tbci/vec_kern_unr_pref.h"#include "tbci/vec_kern_special.h"
Go to the source code of this file.
Classes | |
| class | Vector< T > |
| class | TVector< T > |
| Temporary Base Class Idiom: Class TVector is used for temporary variables. More... | |
| class | TSVector< T > |
| class | Matrix< T > |
| class | TMatrix< T > |
| class | TSMatrix< T > |
| class | F_Matrix< T > |
| class | F_TMatrix< T > |
| Temporary Base Class (non referable!) (acc. More... | |
| class | F_TSMatrix< T > |
| Temporary object for scaled matrices. More... | |
| class | Mat_Brack< T > |
| class | CRMatrix< T > |
| C++ class for sparse matrices using compressed row storage. More... | |
| class | CSCMatrix< T > |
| exception class: Use MatErr from matrix.h More... | |
| class | BdMatrix< T > |
| The class BdMatrix is an implementation to store and do operations on sparse Matrices with a band structure. More... | |
| class | Symm_BdMatrix< T > |
| Matrix class with optimized Matrix-Vector multiplication for symmetrical Matrices. More... | |
| class | TVector< T > |
| Temporary Base Class Idiom: Class TVector is used for temporary variables. More... | |
| class | TSVector< T > |
| class | Vector< T > |
Macros | |
| #define | _SMP_TMPL2V(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2+st) |
| #define | _JOB_TMPL2V(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, a2+st |
| #define | _SMP_TMPL2C(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2) |
| #define | _JOB_TMPL2C(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, &a2 |
| #define | _SMP_TMPL3VV(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2+st, a3+st) |
| #define | _JOB_TMPL3VV(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, a2+st, a3+st |
| #define | _SMP_TMPL3VC(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2+st, a3) |
| #define | _JOB_TMPL3VC(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, a2+st, &a3 |
| #define | _SMP_TMPL3CC(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2, a3) |
| #define | _JOB_TMPL3CC(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, &a2, &a3 |
| #define | _SMP_TMPL4V(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2+st, a3+st, a4) |
| #define | _JOB_TMPL4V(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, a2+st, a3+st, &a4 |
| #define | _SMP_TMPL4C(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2+st, a3, a4) |
| #define | _JOB_TMPL4C(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, a2+st, &a3, &a4 |
| #define | _SMP_TMPL5(oper, st, en, a1, a2, a3, a4, a5) do_##oper <T> (en-st, a1+st, a2+st, a3+st, a4, a5) |
| #define | _JOB_TMPL5(oper, st, en, a1, a2, a3, a4, a5) job_##oper <T>, en-st, a1+st, a2+st, a3+st, &a4, &a5 |
| #define | STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, a4, a5, SMP_TMPL, JOB_TMPL, p2, p3) |
| Template for parallelized stuff (unary) We need the last argument(s) to uniquely handle cases, where it's a pointer into an array or just a number. More... | |
| #define | STD_SMP_TEMPLATE2V(oper, dm, a1, a2) STD_SMP_TEMPLATE(oper, dm, a1, a2, NULL, NULL, NULL, _SMP_TMPL2V, _JOB_TMPL2V, PREFETCH_R_MANY(a2,2);,) |
| #define | STD_SMP_TEMPLATE2C(oper, dm, a1, a2) STD_SMP_TEMPLATE(oper, dm, a1, a2, NULL, NULL, NULL, _SMP_TMPL2C, _JOB_TMPL2C,,) |
| #define | STD_SMP_TEMPLATE3VV(oper, dm, a1, a2, a3) STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, NULL, NULL, _SMP_TMPL3VV, _JOB_TMPL3VV, PREFETCH_R_MANY(a2,2);, PREFETCH_R_MANY(a3,2);) |
| #define | STD_SMP_TEMPLATE3VC(oper, dm, a1, a2, a3) STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, NULL, NULL, _SMP_TMPL3VC, _JOB_TMPL3VC, PREFETCH_R_MANY(a2,2);,) |
| #define | STD_SMP_TEMPLATE3CC(oper, dm, a1, a2, a3) STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, NULL, NULL, _SMP_TMPL3CC, _JOB_TMPL3CC,,) |
| #define | STD_SMP_TEMPLATE4V(oper, dm, a1, a2, a3, a4) STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, a4, NULL, _SMP_TMPL4V, _JOB_TMPL4V, PREFETCH_R_MANY(a2,2);,) |
| #define | STD_SMP_TEMPLATE4C(oper, dm, a1, a2, a3, a4) STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, a4, NULL, _SMP_TMPL4C, _JOB_TMPL4C, PREFETCH_R_MANY(a2,2);,) |
| #define | STD_SMP_TEMPLATE5(oper, dm, a1, a2, a3, a4, a5) STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, a4, a5, _SMP_TMPL5, _JOB_TMPL5, PREFETCH_R_MANY(a2,2);, PREFETCH_R_MANY(a3,2);) |
| #define | COST_VECFABSSQR(d) (d*(COST_UNIT_LOAD+COST_MULT+COST_ADD+COST_LOOP)) |
| #define | COST_VECSCALAR(d) (d*(2*COST_UNIT_LOAD+COST_MULT+COST_ADD+COST_LOOP)) |
Functions | |
| template<typename T > | |
| STD__ ostream & | operator<< (STD__ ostream &os, const TVector< T > &tv) |
| template<typename T > | |
| void | job_vec_vec_add (struct thr_ctrl *tc) |
| vec = vec + vec; More... | |
| template<typename T > | |
| void | job_vec_vec_sub (struct thr_ctrl *tc) |
| vec = vec - vec; More... | |
| template<typename T > | |
| void | job_vec_add_vec (struct thr_ctrl *tc) |
| vec += vec; More... | |
| template<typename T > | |
| void | job_vec_sub_vec (struct thr_ctrl *tc) |
| vec -= vec; More... | |
| template<typename T > | |
| void | job_vec_sub_vec_inv (struct thr_ctrl *tc) |
| vec -= vec; vec = -vec; More... | |
| template<typename T > | |
| void | job_vec_val_add (struct thr_ctrl *tc) |
| vec = vec + val; More... | |
| template<typename T > | |
| void | job_vec_val_sub (struct thr_ctrl *tc) |
| vec = vec - val; More... | |
| template<typename T > | |
| void | job_vec_val_mul (struct thr_ctrl *tc) |
| vec = vec * val; More... | |
| template<typename T > | |
| void | job_val_vec_mul (struct thr_ctrl *tc) |
| vec = val * vec; More... | |
| template<typename T > | |
| void | job_val_vec_add (struct thr_ctrl *tc) |
| vec = val + vec; More... | |
| template<typename T > | |
| void | job_val_vec_sub (struct thr_ctrl *tc) |
| vec = val - vec; More... | |
| template<typename T > | |
| void | job_val_vec_div (struct thr_ctrl *tc) |
| vec = val / vec; More... | |
| template<typename T > | |
| void | job_vec_add_val (struct thr_ctrl *tc) |
| vec += val; More... | |
| template<typename T > | |
| void | job_val_add_vec (struct thr_ctrl *tc) |
| vec += val; More... | |
| template<typename T > | |
| void | job_vec_sub_val (struct thr_ctrl *tc) |
| vec -= val; More... | |
| template<typename T > | |
| void | job_val_sub_vec (struct thr_ctrl *tc) |
| vec -= val; vec = -vec; More... | |
| template<typename T > | |
| void | job_vec_mul_val (struct thr_ctrl *tc) |
| vec *= val; More... | |
| template<typename T > | |
| void | job_vec_div_val (struct thr_ctrl *tc) |
| vec /= val; More... | |
| template<typename T > | |
| void | job_val_div_vec (struct thr_ctrl *tc) |
| vec = val/self; More... | |
| template<typename T > | |
| void | job_vec_svc_add (struct thr_ctrl *tc) |
| vec = vec + s*vec; More... | |
| template<typename T > | |
| void | job_svc_vec_add (struct thr_ctrl *tc) |
| vec = s*vec + vec; More... | |
| template<typename T > | |
| void | job_svc_svc_add (struct thr_ctrl *tc) |
| vec = s*vec + s*vec; More... | |
| template<typename T > | |
| void | job_vec_svc_sub (struct thr_ctrl *tc) |
| vec = vec - s*vec; More... | |
| template<typename T > | |
| void | job_svc_vec_sub (struct thr_ctrl *tc) |
| vec = s*vec - vec; More... | |
| template<typename T > | |
| void | job_svc_svc_sub (struct thr_ctrl *tc) |
| vec = s*vec - s*vec; More... | |
| template<typename T > | |
| void | job_vec_add_svc (struct thr_ctrl *tc) |
| vec += s*vec; More... | |
| template<typename T > | |
| void | job_vec_sub_svc (struct thr_ctrl *tc) |
| vec -= s*vec; More... | |
| template<typename T > | |
| void | job_vec_sub_svc_inv (struct thr_ctrl *tc) |
| vec -= s*vec; More... | |
| template<typename T > | |
| void | job_svc_val_add (struct thr_ctrl *tc) |
| vec = s*vec + val; More... | |
| template<typename T > | |
| void | job_svc_val_sub (struct thr_ctrl *tc) |
| vec = s*vec - val; More... | |
| template<typename T > | |
| void | job_val_svc_add (struct thr_ctrl *tc) |
| vec = val + s*vec; More... | |
| template<typename T > | |
| void | job_val_svc_sub (struct thr_ctrl *tc) |
| vec = val + s*vec; More... | |
| template<typename T > | |
| void | job_val_svc_div (struct thr_ctrl *tc) |
| vec = val / s*vec; More... | |
| template<typename T > | |
| const TVector< T > & | operator+ (const T &a, const TVector< T > &b) |
| TV = T + TV Transformed to TV += T. More... | |
| template<typename T > | |
| const TVector< T > & | operator- (const T &a, const TVector< T > &b) |
| TV = T - TV Transformed to -TV -= T. More... | |
| template<typename T > | |
| TSVector< T > | operator* (const T &a, const TVector< T > &b) |
| template<typename T > | |
| TSVector< T > | operator/ (const T &a, TVector< T > b) |
| template<typename T > | |
| TVector< T > & | conj (TVector< T > &tv) |
| template<typename T > | |
| TVector< T > & | real (TVector< T > &tv) |
| template<typename T > | |
| TVector< T > & | imag (TVector< T > &tv) |
| template<typename T > | |
| TVector< T > | conj (const Vector< T > &v) |
| template<typename T > | |
| TVector< T > | real (const Vector< T > &v) |
| template<typename T > | |
| TVector< T > | imag (const Vector< T > &v) |
| template<typename T > | |
| double | fabssqr (const Vector< T > &v) |
| template<typename T > | |
| NAMESPACE_END NAMESPACE_CSTD double | fabs (const TBCI__ Vector< T > &v) |
| template<typename T > | |
| T | abs (const TBCI__ Vector< T > &v) |
| template<typename T > | |
| double | fabs (TBCI__ TVector< T > tv) |
| template<typename T > | |
| T | abs (TBCI__ TVector< T > tv) |
| template<typename T > | |
| const TSVector< T > & | operator* (const T &f, const TSVector< T > &ts) |
| template<typename T > | |
| TVector< T > | operator+ (const T &v, const TSVector< T > &tsv) |
| template<typename T > | |
| TVector< T > | operator- (const T &v, const TSVector< T > &tsv) |
| template<typename T > | |
| STD__ ostream & | operator<< (STD__ ostream &os, const TSVector< T > &ts) |
| template<typename T > | |
| double | fabssqr (const TSVector< T > &ts) |
| template<typename T > | |
| NAMESPACE_END NAMESPACE_CSTD double | fabs (const TBCI__ TSVector< T > &ts) |
| template<typename T > | |
| T | abs (const TBCI__ TSVector< T > &ts) |
| template<typename T > | |
| STD__ ostream & | operator<< (STD__ ostream &os, const Vector< T > &v) |
| template<typename T > | |
| void | job_vec_dot (struct thr_ctrl *tc) |
| template<typename T > | |
| T | dot (const Vector< T > &a, const Vector< T > &b) |
| template<typename T > | |
| void | job_vec_mult (struct thr_ctrl *tc) |
| HOTDECL (template< typename T > bool par_comp(const Vector< T > &v1, const Vector< T > &v2)) | |
| HOTDECL (template< typename T > void par_copy(Vector< T > &v1, const Vector< T > &v2)) | |
| template<typename T > | |
| bool | par_comp (const Vector< T > &v1, TVector< T > v2) |
| template<typename T > | |
| bool | par_comp (TVector< T > v1, const Vector< T > &v2) |
| template<typename T > | |
| bool | par_comp (TVector< T > v1, TVector< T > v2) |
| template<typename T > | |
| void | par_fill (Vector< T > &vec, vec_fill_fn< T > fn, void *par) |
| template<typename T > | |
| void | job_vec_sum (struct thr_ctrl *tc) |
| template<typename T > | |
| TVector< T > | operator+ (const T &a, const Vector< T > &v) |
| TV = T + V. More... | |
| template<typename T > | |
| TVector< T > | operator- (const T &a, const Vector< T > &v) |
| TV = T - V. More... | |
| template<typename T > | |
| TSVector< T > | operator* (const T &a, const Vector< T > &b) |
| template<typename T > | |
| TSVector< T > | operator/ (const T &a, const Vector< T > &b) |
| template<typename T > | |
| void | job_vec_fabssqr (struct thr_ctrl *tc) |
| template<typename T > | |
| double | fabssqr (TVector< T > tv) |
header file templated classes TBCI::Vector, TBCI::TVector, TBCI::TSVector
Definition in file vector.h.
| #define _JOB_TMPL2C | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, &a2 |
| #define _JOB_TMPL2V | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, a2+st |
| #define _JOB_TMPL3CC | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, &a2, &a3 |
| #define _JOB_TMPL3VC | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, a2+st, &a3 |
| #define _JOB_TMPL3VV | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, a2+st, a3+st |
| #define _JOB_TMPL4C | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, a2+st, &a3, &a4 |
| #define _JOB_TMPL4V | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, a2+st, a3+st, &a4 |
| #define _JOB_TMPL5 | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | job_##oper <T>, en-st, a1+st, a2+st, a3+st, &a4, &a5 |
| #define _SMP_TMPL2C | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2) |
| #define _SMP_TMPL2V | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2+st) |
| #define _SMP_TMPL3CC | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2, a3) |
| #define _SMP_TMPL3VC | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2+st, a3) |
| #define _SMP_TMPL3VV | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2+st, a3+st) |
| #define _SMP_TMPL4C | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2+st, a3, a4) |
| #define _SMP_TMPL4V | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2+st, a3+st, a4) |
| #define _SMP_TMPL5 | ( | oper, | |
| st, | |||
| en, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | do_##oper <T> (en-st, a1+st, a2+st, a3+st, a4, a5) |
| #define COST_VECFABSSQR | ( | d | ) | (d*(COST_UNIT_LOAD+COST_MULT+COST_ADD+COST_LOOP)) |
| #define COST_VECSCALAR | ( | d | ) | (d*(2*COST_UNIT_LOAD+COST_MULT+COST_ADD+COST_LOOP)) |
| #define STD_SMP_TEMPLATE | ( | oper, | |
| dm, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5, | |||
| SMP_TMPL, | |||
| JOB_TMPL, | |||
| p2, | |||
| p3 | |||
| ) |
Template for parallelized stuff (unary) We need the last argument(s) to uniquely handle cases, where it's a pointer into an array or just a number.
| #define STD_SMP_TEMPLATE2C | ( | oper, | |
| dm, | |||
| a1, | |||
| a2 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, NULL, NULL, NULL, _SMP_TMPL2C, _JOB_TMPL2C,,) |
Definition at line 646 of file vector.h.
Referenced by ediv(), TSVector< T >::eval(), TSMatrix< T >::eval(), TVector< T >::operator*=(), Matrix< T >::operator*=(), operator+(), TVector< T >::operator+=(), TMatrix< T >::operator+=(), operator-(), TVector< T >::operator-=(), TMatrix< T >::operator-=(), and Matrix< T >::operator/=().
| #define STD_SMP_TEMPLATE2V | ( | oper, | |
| dm, | |||
| a1, | |||
| a2 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, NULL, NULL, NULL, _SMP_TMPL2V, _JOB_TMPL2V, PREFETCH_R_MANY(a2,2);,) |
Definition at line 644 of file vector.h.
Referenced by TVector< T >::operator+(), Vector< T >::operator+(), Matrix< T >::operator+(), TVector< T >::operator+=(), TMatrix< T >::operator+=(), TVector< T >::operator-(), Vector< T >::operator-(), Matrix< T >::operator-(), TVector< T >::operator-=(), and TMatrix< T >::operator-=().
| #define STD_SMP_TEMPLATE3CC | ( | oper, | |
| dm, | |||
| a1, | |||
| a2, | |||
| a3 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, NULL, NULL, _SMP_TMPL3CC, _JOB_TMPL3CC,,) |
| #define STD_SMP_TEMPLATE3VC | ( | oper, | |
| dm, | |||
| a1, | |||
| a2, | |||
| a3 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, NULL, NULL, _SMP_TMPL3VC, _JOB_TMPL3VC, PREFETCH_R_MANY(a2,2);,) |
Definition at line 650 of file vector.h.
Referenced by TSVector< T >::clone(), TSMatrix< T >::clone(), ediv(), TVector< T >::operator+(), TMatrix< T >::operator+(), operator+(), TSVector< T >::operator+(), TSMatrix< T >::operator+(), Vector< T >::operator+(), Matrix< T >::operator+(), TVector< T >::operator+=(), TMatrix< T >::operator+=(), TVector< T >::operator-(), TMatrix< T >::operator-(), operator-(), TSVector< T >::operator-(), TSMatrix< T >::operator-(), Vector< T >::operator-(), Matrix< T >::operator-(), TVector< T >::operator-=(), and TMatrix< T >::operator-=().
| #define STD_SMP_TEMPLATE3VV | ( | oper, | |
| dm, | |||
| a1, | |||
| a2, | |||
| a3 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, NULL, NULL, _SMP_TMPL3VV, _JOB_TMPL3VV, PREFETCH_R_MANY(a2,2);, PREFETCH_R_MANY(a3,2);) |
Definition at line 648 of file vector.h.
Referenced by Vector< T >::operator+(), Matrix< T >::operator+(), Vector< T >::operator-(), and Matrix< T >::operator-().
| #define STD_SMP_TEMPLATE4C | ( | oper, | |
| dm, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, a4, NULL, _SMP_TMPL4C, _JOB_TMPL4C, PREFETCH_R_MANY(a2,2);,) |
Definition at line 656 of file vector.h.
Referenced by TSVector< T >::add_t_tsv(), ediv(), TSVector< T >::operator+(), TSMatrix< T >::operator+(), operator+(), TSVector< T >::operator-(), TSMatrix< T >::operator-(), operator-(), and TSVector< T >::sub_t_tsv().
| #define STD_SMP_TEMPLATE4V | ( | oper, | |
| dm, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, a4, NULL, _SMP_TMPL4V, _JOB_TMPL4V, PREFETCH_R_MANY(a2,2);,) |
Definition at line 654 of file vector.h.
Referenced by TSVector< T >::operator+(), TSMatrix< T >::operator+(), Vector< T >::operator+(), Matrix< T >::operator+(), TSVector< T >::operator-(), TSMatrix< T >::operator-(), Vector< T >::operator-(), and Matrix< T >::operator-().
| #define STD_SMP_TEMPLATE5 | ( | oper, | |
| dm, | |||
| a1, | |||
| a2, | |||
| a3, | |||
| a4, | |||
| a5 | |||
| ) | STD_SMP_TEMPLATE(oper, dm, a1, a2, a3, a4, a5, _SMP_TMPL5, _JOB_TMPL5, PREFETCH_R_MANY(a2,2);, PREFETCH_R_MANY(a3,2);) |
Definition at line 658 of file vector.h.
Referenced by TSVector< T >::operator+(), TSMatrix< T >::operator+(), TSVector< T >::operator-(), and TSMatrix< T >::operator-().
Definition at line 862 of file vector.h.
References std::conj(), CPLX__, TVector< T >::get(), i, REGISTER, TVector< T >::set(), and TVector< T >::size().
Definition at line 891 of file vector.h.
References std::conj(), CPLX__, i, REGISTER, TVector< T >::set(), TVector< T >::size(), and v.
Definition at line 1817 of file vector.h.
References BCHK, do_exactsum(), TBCI::dot(), LIKELY, PREFETCH_R, res, TVector< T >::size(), TSVector< T >::size(), SMP_VECSLICE2, STD__, T, job_output::t_res_ptr, THREAD_MAX_RES_LN, thread_start(), thread_wait(), threads, threads_avail, BVector< T >::vec, and y.
|
inline |
Definition at line 990 of file vector.h.
References TBCI::fabssqr(), std::sqrt(), and TBCI__.
Definition at line 1004 of file vector.h.
References std::fabs(), TBCI__, and v.
|
inline |
Definition at line 2365 of file vector.h.
References Vector< T >::fabssqr().
Definition at line 1479 of file vector.h.
References TSVector< T >::fabssqr().
Definition at line 2449 of file vector.h.
References TVector< T >::fabssqr().
Definition at line 1967 of file vector.h.
References TSVector< T >::dim, TVector< T >::getcref(), LIKELY, and TVector< T >::size().
| HOTDECL | ( | template< typename T > void | par_copyVector< T > &v1, const Vector< T > &v2 | ) |
Definition at line 1980 of file vector.h.
References BCHK, TSVector< T >::dim, TVector< T >::getcref(), LIKELY, TVector< T >::setval(), TVector< T >::size(), and TSVector< T >::size().
Definition at line 881 of file vector.h.
References CPLX__, TVector< T >::get(), i, std::imag(), REGISTER, TVector< T >::set(), and TVector< T >::size().
Definition at line 912 of file vector.h.
References CPLX__, i, std::imag(), REGISTER, TVector< T >::set(), TVector< T >::size(), and v.
| void job_svc_svc_add | ( | struct thr_ctrl * | tc | ) |
vec = s*vec + s*vec;
Definition at line 455 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_svc_svc_sub | ( | struct thr_ctrl * | tc | ) |
vec = s*vec - s*vec;
Definition at line 482 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_svc_val_add | ( | struct thr_ctrl * | tc | ) |
vec = s*vec + val;
Definition at line 519 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_svc_val_sub | ( | struct thr_ctrl * | tc | ) |
vec = s*vec - val;
Definition at line 528 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_svc_vec_add | ( | struct thr_ctrl * | tc | ) |
vec = s*vec + vec;
Definition at line 446 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_svc_vec_sub | ( | struct thr_ctrl * | tc | ) |
vec = s*vec - vec;
Definition at line 473 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_add_vec | ( | struct thr_ctrl * | tc | ) |
vec += val;
Definition at line 387 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_div_vec | ( | struct thr_ctrl * | tc | ) |
vec = val/self;
Definition at line 427 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_sub_vec | ( | struct thr_ctrl * | tc | ) |
vec -= val; vec = -vec;
Definition at line 403 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_svc_add | ( | struct thr_ctrl * | tc | ) |
vec = val + s*vec;
Definition at line 537 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_svc_div | ( | struct thr_ctrl * | tc | ) |
vec = val / s*vec;
Definition at line 555 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_svc_sub | ( | struct thr_ctrl * | tc | ) |
vec = val + s*vec;
Definition at line 546 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_vec_add | ( | struct thr_ctrl * | tc | ) |
vec = val + vec;
Definition at line 355 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_vec_div | ( | struct thr_ctrl * | tc | ) |
vec = val / vec;
Definition at line 371 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_vec_mul | ( | struct thr_ctrl * | tc | ) |
vec = val * vec;
Definition at line 347 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_val_vec_sub | ( | struct thr_ctrl * | tc | ) |
vec = val - vec;
Definition at line 363 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_add_svc | ( | struct thr_ctrl * | tc | ) |
vec += s*vec;
Definition at line 491 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_add_val | ( | struct thr_ctrl * | tc | ) |
vec += val;
Definition at line 379 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_add_vec | ( | struct thr_ctrl * | tc | ) |
vec += vec;
Definition at line 299 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_div_val | ( | struct thr_ctrl * | tc | ) |
vec /= val;
Definition at line 419 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_dot | ( | struct thr_ctrl * | tc | ) |
Definition at line 1802 of file vector.h.
References do_exactsum(), T, thr_ctrl::t_par, thr_ctrl::t_res_ptr, and thr_ctrl::t_size.
| void job_vec_fabssqr | ( | struct thr_ctrl * | tc | ) |
Definition at line 2389 of file vector.h.
References do_exactsum(), T, thr_ctrl::t_par, thr_ctrl::t_res_d, and thr_ctrl::t_size.
| void job_vec_mul_val | ( | struct thr_ctrl * | tc | ) |
vec *= val;
Definition at line 411 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_mult | ( | struct thr_ctrl * | tc | ) |
Definition at line 1889 of file vector.h.
References do_exactsum(), T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_sub_svc | ( | struct thr_ctrl * | tc | ) |
vec -= s*vec;
Definition at line 500 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_sub_svc_inv | ( | struct thr_ctrl * | tc | ) |
vec -= s*vec;
Definition at line 509 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_sub_val | ( | struct thr_ctrl * | tc | ) |
vec -= val;
Definition at line 395 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_sub_vec | ( | struct thr_ctrl * | tc | ) |
vec -= vec;
Definition at line 307 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_sub_vec_inv | ( | struct thr_ctrl * | tc | ) |
vec -= vec; vec = -vec;
Definition at line 315 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_sum | ( | struct thr_ctrl * | tc | ) |
Definition at line 2086 of file vector.h.
References do_exactsum(), if(), T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_svc_add | ( | struct thr_ctrl * | tc | ) |
vec = vec + s*vec;
Definition at line 437 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_svc_sub | ( | struct thr_ctrl * | tc | ) |
vec = vec - s*vec;
Definition at line 464 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_val_add | ( | struct thr_ctrl * | tc | ) |
vec = vec + val;
Definition at line 323 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_val_mul | ( | struct thr_ctrl * | tc | ) |
vec = vec * val;
Definition at line 339 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_val_sub | ( | struct thr_ctrl * | tc | ) |
vec = vec - val;
Definition at line 331 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_vec_add | ( | struct thr_ctrl * | tc | ) |
vec = vec + vec;
Definition at line 283 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
| void job_vec_vec_sub | ( | struct thr_ctrl * | tc | ) |
vec = vec - vec;
Definition at line 291 of file vector.h.
References T, thr_ctrl::t_par, and thr_ctrl::t_size.
Definition at line 1196 of file vector.h.
References TSVector< T >::getfac(), TSVector< T >::getfacref(), and ts.
TV = T + TV Transformed to TV += T.
Definition at line 777 of file vector.h.
References b, BdMatrix< T >::dim, TVector< T >::setval(), TVector< T >::size(), STD_SMP_TEMPLATE2C, and T.
Definition at line 1435 of file vector.h.
References TSVector< T >::add_t_tsv().
TV = T + V.
Definition at line 2279 of file vector.h.
References TVector< T >::getcref(), TVector< T >::setval(), TVector< T >::size(), STD_SMP_TEMPLATE3VC, and T.
TV = T - TV Transformed to -TV -= T.
Definition at line 789 of file vector.h.
References b, BdMatrix< T >::dim, TVector< T >::setval(), TVector< T >::size(), STD_SMP_TEMPLATE2C, and T.
Definition at line 1455 of file vector.h.
References TSVector< T >::sub_t_tsv().
TV = T - V.
Definition at line 2293 of file vector.h.
References TVector< T >::getcref(), TVector< T >::setval(), TVector< T >::size(), STD_SMP_TEMPLATE3VC, and T.
Definition at line 1459 of file vector.h.
References TSVector< T >::destroy(), TSVector< T >::dim, TSVector< T >::fac(), i, and TSVector< T >::vec.
Definition at line 1996 of file vector.h.
Referenced by par_comp().
Definition at line 2003 of file vector.h.
References par_comp().
Definition at line 2009 of file vector.h.
References par_comp().
Definition at line 2015 of file vector.h.
References TVector< T >::setval(), and TVector< T >::size().
Definition at line 871 of file vector.h.
References CPLX__, TVector< T >::get(), i, REGISTER, TVector< T >::set(), and TVector< T >::size().
1.8.5