|
vcp_inline | RealAccumVecSPDP (const RealVec< double > &rcv) |
|
vcp_inline | operator real_vec () const |
|
vcp_inline | RealVec (const real_vec &d) |
|
vcp_inline | RealVec (const RealVec &rhs) |
|
vcp_inline RealVec & | operator= (const RealVec &rhs) |
|
vcp_inline RealVec | operator+ (const RealVec &rhs) const |
|
vcp_inline RealVec | operator- (const RealVec &rhs) const |
|
vcp_inline RealVec | operator* (const RealVec &rhs) const |
|
vcp_inline RealVec | operator/ (const RealVec &rhs) const |
|
vcp_inline void | aligned_store (double *location) const |
|
vcp_inline MaskVec< double > | operator< (const RealVec &rhs) const |
|
vcp_inline MaskVec< double > | operator!= (const RealVec &rhs) const |
|
vcp_inline void | aligned_load_add_store (double *location) const |
|
|
static vcp_inline RealAccumVecSPDP | convertCalcToAccum (const RealCalcVec &rcv) |
|
static vcp_inline RealCalcVec | convertAccumToCalc (const RealAccumVecSPDP &rav) |
|
static vcp_inline RealAccumVecSPDP | aligned_load_mask (const double *const a, MaskVec< float > m) |
|
static vcp_inline RealVec | convertCalcToAccum (const RealVec &rcv) |
|
static vcp_inline RealVec | convertAccumToCalc (const RealVec &rav) |
|
static vcp_inline RealVec | cast_MaskVec_to_RealCalcVec (const MaskVec< double > &m) |
|
static vcp_inline MaskVec< double > | cast_RealCalcVec_to_MaskVec (const RealVec &d) |
|
static vcp_inline RealVec | zero () |
|
static vcp_inline RealVec | ones () |
|
static vcp_inline RealVec | fmadd (const RealVec &a, const RealVec &b, const RealVec &c) |
|
static vcp_inline RealVec | fnmadd (const RealVec &a, const RealVec &b, const RealVec &c) |
|
static vcp_inline RealVec | fmsub (const RealVec &a, const RealVec &b, const RealVec &c) |
|
static vcp_inline RealVec | sqrt (const RealVec &rhs) |
|
static vcp_inline RealVec | scal_prod (const RealVec &a1, const RealVec &a2, const RealVec &a3, const RealVec &b1, const RealVec &b2, const RealVec &b3) |
|
static vcp_inline RealVec | set1 (const double &v) |
|
static vcp_inline RealVec | aligned_load (const double *const a) |
|
static vcp_inline RealVec | broadcast (const double *const a) |
|
static vcp_inline RealVec | unpack_lo (const RealVec &a, const RealVec &b) |
|
static vcp_inline RealVec | unpack_hi (const RealVec &a, const RealVec &b) |
|
static vcp_inline RealVec | apply_mask (const RealVec &d, const MaskVec< double > &m) |
|
static vcp_inline RealVec | aligned_load_mask (const double *const a, MaskVec< double > m) |
|
static vcp_inline void | horizontal_add_and_store (const RealVec &a, double *const mem_addr) |
|
static vcp_inline RealVec | fastReciprocal_mask (const RealVec &d, const MaskVec< double > &m) |
| Calculates 1/d and applies mask m on the result \detail This could also be done by directly using operator / and method apply_mask(..), but this method is faster and more precise in some cases, because it calculates additional iterations of the Newton-Raphson method if beneficial. Furthermore, in DEBUG-mode it does an additional check for NaNs before returning the result.
|
|
static vcp_inline RealVec | fastReciprocSqrt_mask (const RealVec &d, const MaskVec< double > &m) |
| Calculates 1/sqrt(d) and applies mask m on the result \detail This could also be done by directly using operator / and methods apply_mask(..), sqrt() but this method is faster because it makes use of special intrinsics. Makes use of Newton-Raphson iterations if necessary to acquire the necessary precision Furthermore, in DEBUG-mode it does an additional check for NaNs before returning the result.
|
|