2 #ifdef EIGEN_POWER_USE_PREFETCH
3 #define EIGEN_POWER_PREFETCH(p) prefetch(p)
5 #define EIGEN_POWER_PREFETCH(p)
12 template<
typename Scalar,
typename Packet,
typename DataMapper,
typename Index, const Index accRows>
14 const DataMapper& res,
15 const Scalar* lhs_base,
16 const Scalar* rhs_base,
24 const Packet& pAlpha);
26 template<
typename Scalar,
typename Packet,
typename DataMapper,
typename Index, const Index accRows, const Index accCols>
28 const DataMapper& res,
29 const Scalar* lhs_base,
30 const Scalar* rhs_base,
42 template<
typename Scalar,
typename Packet,
typename DataMapper,
typename Index, const Index accCols>
44 const DataMapper& res,
45 const Scalar* lhs_base,
46 const Scalar* rhs_base,
54 const Packet& pAlpha);
56 template<
typename Packet>
59 template<
typename Scalar,
typename Packet,
typename Packetc,
typename DataMapper,
typename Index, const Index accRows, const Index accCols,
bool ConjugateLhs,
bool ConjugateRhs,
bool LhsIsReal,
bool RhsIsReal>
61 const DataMapper& res,
62 const Scalar* lhs_base,
63 const Scalar* rhs_base,
72 const Packet& pAlphaReal,
73 const Packet& pAlphaImag);
75 template<
typename Scalar,
typename Packet,
typename Packetc,
typename DataMapper,
typename Index, const Index accRows, const Index accCols,
bool ConjugateLhs,
bool ConjugateRhs,
bool LhsIsReal,
bool RhsIsReal>
77 const DataMapper& res,
78 const Scalar* lhs_base,
79 const Scalar* rhs_base,
89 const Packet& pAlphaReal,
90 const Packet& pAlphaImag,
93 template<
typename Scalar,
typename Packet,
typename Packetc,
typename DataMapper,
typename Index, const Index accCols,
bool ConjugateLhs,
bool ConjugateRhs,
bool LhsIsReal,
bool RhsIsReal>
95 const DataMapper& res,
96 const Scalar* lhs_base,
97 const Scalar* rhs_base,
105 Index remaining_cols,
106 const Packet& pAlphaReal,
107 const Packet& pAlphaImag);
109 template<
typename Scalar,
typename Packet>
112 template<
typename DataMapper,
typename Packet,
typename Index, const Index accCols,
int N,
int StorageOrder>
115 template<
typename DataMapper,
typename Packet,
typename Index, const Index accCols,
int N,
int StorageOrder>
118 template<
typename Packet>
121 template<
typename Packet,
int N>
122 EIGEN_ALWAYS_INLINE void bscalec(PacketBlock<Packet,N>& aReal, PacketBlock<Packet,N>& aImag,
const Packet& bReal,
const Packet& bImag, PacketBlock<Packet,N>& cReal, PacketBlock<Packet,N>& cImag);
135 16, 17, 18, 19, 20, 21, 22, 23};
139 24, 25, 26, 27, 28, 29, 30, 31};
143 template<
typename Packet,
typename Packetc>
157 template<
typename Packet,
typename Packetc>
160 bcouple_common<Packet, Packetc>(taccReal, taccImag, acc1, acc2);
173 template<
typename Packet,
typename Packetc>
181 template<
typename Packet,
typename Packetc>
184 bcouple_common<Packet, Packetc>(taccReal, taccImag, acc1, acc2);
214 template<
typename Scalar,
typename Packet>
217 return ploadu<Packet>(rhs);
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ColXpr col(Index i)
This is the const version of col().
Definition: BlockMethods.h:1097
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE RowXpr row(Index i)
This is the const version of row(). */.
Definition: BlockMethods.h:1118
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:932
#define EIGEN_STRONG_INLINE
Definition: Macros.h:917
EIGEN_ALWAYS_INLINE void bscalec(PacketBlock< Packet, N > &aReal, PacketBlock< Packet, N > &aImag, const Packet &bReal, const Packet &bImag, PacketBlock< Packet, N > &cReal, PacketBlock< Packet, N > &cImag)
Definition: MatrixProduct.h:1168
__vector unsigned char Packet16uc
Definition: PacketMath.h:37
static const Packet16uc p16uc_SETCOMPLEX32_FIRST
Definition: MatrixProductCommon.h:124
EIGEN_ALWAYS_INLINE void bcouple(PacketBlock< Packet, 4 > &taccReal, PacketBlock< Packet, 4 > &taccImag, PacketBlock< Packetc, 8 > &tRes, PacketBlock< Packetc, 4 > &acc1, PacketBlock< Packetc, 4 > &acc2)
Definition: MatrixProductCommon.h:158
EIGEN_STRONG_INLINE void gemm_complex_extra_col(const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index strideB, Index row, Index col, Index remaining_rows, Index remaining_cols, const Packet &pAlphaReal, const Packet &pAlphaImag)
Definition: MatrixProduct.h:1814
EIGEN_STRONG_INLINE void gemm_complex_extra_row(const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index strideB, Index row, Index col, Index rows, Index cols, Index remaining_rows, const Packet &pAlphaReal, const Packet &pAlphaImag, const Packet &pMask)
Definition: MatrixProduct.h:1912
static const Packet16uc p16uc_SETCOMPLEX64_SECOND
Definition: MatrixProductCommon.h:138
EIGEN_STRONG_INLINE void gemm_extra_row(const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index row, Index col, Index rows, Index cols, Index remaining_rows, const Packet &pAlpha, const Packet &pMask)
Definition: MatrixProduct.h:1383
static const Packet16uc p16uc_SETCOMPLEX32_SECOND
Definition: MatrixProductCommon.h:129
EIGEN_STRONG_INLINE void gemm_unrolled_col(const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index &row, Index rows, Index col, Index remaining_cols, const Packet &pAlpha)
Definition: MatrixProduct.h:1634
EIGEN_ALWAYS_INLINE Packet bmask(const int remaining_rows)
Definition: MatrixProduct.h:1253
EIGEN_ALWAYS_INLINE void bcouple_common< Packet2d, Packet1cd >(PacketBlock< Packet2d, 4 > &taccReal, PacketBlock< Packet2d, 4 > &taccImag, PacketBlock< Packet1cd, 4 > &acc1, PacketBlock< Packet1cd, 4 > &acc2)
Definition: MatrixProductCommon.h:192
EIGEN_ALWAYS_INLINE void bcouple_common(PacketBlock< Packet, 4 > &taccReal, PacketBlock< Packet, 4 > &taccImag, PacketBlock< Packetc, 4 > &acc1, PacketBlock< Packetc, 4 > &acc2)
Definition: MatrixProductCommon.h:144
static const Packet16uc p16uc_SETCOMPLEX64_FIRST
Definition: MatrixProductCommon.h:134
EIGEN_STRONG_INLINE void gemm_extra_col(const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index row, Index col, Index remaining_rows, Index remaining_cols, const Packet &pAlpha)
Definition: MatrixProduct.h:1320
EIGEN_STRONG_INLINE void gemm_complex_unrolled_col(const DataMapper &res, const Scalar *lhs_base, const Scalar *rhs_base, Index depth, Index strideA, Index offsetA, Index strideB, Index &row, Index rows, Index col, Index remaining_cols, const Packet &pAlphaReal, const Packet &pAlphaImag)
Definition: MatrixProduct.h:2270
EIGEN_ALWAYS_INLINE void bscale(PacketBlock< Packet, 4 > &acc, PacketBlock< Packet, 4 > &accZ, const Packet &pAlpha)
Definition: MatrixProduct.h:1137
EIGEN_ALWAYS_INLINE Packet ploadLhs(const Scalar *lhs)
Definition: MatrixProduct.h:1114
EIGEN_ALWAYS_INLINE void bload(PacketBlock< Packet, 4 > &acc, const DataMapper &res, Index row, Index col)
Definition: MatrixProduct.h:1199
EIGEN_ALWAYS_INLINE Packet ploadRhs(const Scalar *rhs)
Definition: MatrixProductCommon.h:215
Namespace containing all symbols from the Eigen library.
Definition: LDLT.h:16
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
Definition: document.h:416
Definition: GenericPacketMath.h:1014
Packet packet[N]
Definition: GenericPacketMath.h:1015
Definition: PacketMath.h:47