CacheFriendlyProduct.h File Reference
Go to the source code of this file.
Classes |
struct | ei_L2_block_traits< L2MemorySize, Scalar > |
Defines |
#define | _EIGEN_ACCUMULATE_PACKETS(A0, A13, A2) |
#define | _EIGEN_ACCUMULATE_PACKETS(A0, A13, A2) |
Functions |
template<typename Scalar > |
void | ei_cache_friendly_product (int _rows, int _cols, int depth, bool _lhsRowMajor, const Scalar *_lhs, int _lhsStride, bool _rhsRowMajor, const Scalar *_rhs, int _rhsStride, bool resRowMajor, Scalar *res, int resStride) |
template<typename Scalar , typename RhsType > |
EIGEN_DONT_INLINE void | ei_cache_friendly_product_colmajor_times_vector (int size, const Scalar *lhs, int lhsStride, const RhsType &rhs, Scalar *res) |
template<typename Scalar , typename ResType > |
EIGEN_DONT_INLINE void | ei_cache_friendly_product_rowmajor_times_vector (const Scalar *lhs, int lhsStride, const Scalar *rhs, int rhsSize, ResType &res) |
Define Documentation
#define _EIGEN_ACCUMULATE_PACKETS |
( |
A0, |
|
|
A13, |
|
|
A2 |
|
) |
|
Value:{\
Packet b = ei_pload(&rhs[j]); \
ptmp0 = ei_pmadd(b, EIGEN_CAT(ei_ploa,A0) (&lhs0[j]), ptmp0); \
ptmp1 = ei_pmadd(b, EIGEN_CAT(ei_ploa,A13)(&lhs1[j]), ptmp1); \
ptmp2 = ei_pmadd(b, EIGEN_CAT(ei_ploa,A2) (&lhs2[j]), ptmp2); \
ptmp3 = ei_pmadd(b, EIGEN_CAT(ei_ploa,A13)(&lhs3[j]), ptmp3); }
#define _EIGEN_ACCUMULATE_PACKETS |
( |
A0, |
|
|
A13, |
|
|
A2 |
|
) |
|
Value:ei_pstore(&res[j], \
ei_padd(ei_pload(&res[j]), \
ei_padd( \
ei_padd(ei_pmul(ptmp0,EIGEN_CAT(ei_ploa , A0)(&lhs0[j])), \
ei_pmul(ptmp1,EIGEN_CAT(ei_ploa , A13)(&lhs1[j]))), \
ei_padd(ei_pmul(ptmp2,EIGEN_CAT(ei_ploa , A2)(&lhs2[j])), \
ei_pmul(ptmp3,EIGEN_CAT(ei_ploa , A13)(&lhs3[j]))) )))
Function Documentation
template<typename Scalar >
void ei_cache_friendly_product |
( |
int |
_rows, |
|
|
int |
_cols, |
|
|
int |
depth, |
|
|
bool |
_lhsRowMajor, |
|
|
const Scalar * |
_lhs, |
|
|
int |
_lhsStride, |
|
|
bool |
_rhsRowMajor, |
|
|
const Scalar * |
_rhs, |
|
|
int |
_rhsStride, |
|
|
bool |
resRowMajor, |
|
|
Scalar * |
res, |
|
|
int |
resStride | |
|
) |
| | [inline] |
template<typename Scalar , typename RhsType >
EIGEN_DONT_INLINE void ei_cache_friendly_product_colmajor_times_vector |
( |
int |
size, |
|
|
const Scalar * |
lhs, |
|
|
int |
lhsStride, |
|
|
const RhsType & |
rhs, |
|
|
Scalar * |
res | |
|
) |
| | [inline] |
template<typename Scalar , typename ResType >
EIGEN_DONT_INLINE void ei_cache_friendly_product_rowmajor_times_vector |
( |
const Scalar * |
lhs, |
|
|
int |
lhsStride, |
|
|
const Scalar * |
rhs, |
|
|
int |
rhsSize, |
|
|
ResType & |
res | |
|
) |
| | [inline] |