![]() |
|
#include "../../InternalHeaderCheck.h"
Go to the source code of this file.
Functions | |
template<typename ResPacket , typename ResScalar > | |
EIGEN_ALWAYS_INLINE void | storeMaddData (ResScalar *res, ResPacket &palpha, ResPacket &data) |
template<typename ResScalar > | |
EIGEN_ALWAYS_INLINE void | storeMaddData (ResScalar *res, ResScalar &alpha, ResScalar &data) |
template<typename LhsScalar , typename LhsMapper , typename RhsScalar , typename RhsMapper , typename ResScalar > | |
EIGEN_STRONG_INLINE void | gemv_col (Index rows, Index cols, const LhsMapper &alhs, const RhsMapper &rhs, ResScalar *res, Index resIncr, ResScalar alpha) |
template<bool extraRows> | |
EIGEN_ALWAYS_INLINE void | outputVecCol (Packet4f acc, float *result, Packet4f pAlpha, Index extra_rows) |
template<Index num_acc, bool extraRows, Index size> | |
EIGEN_ALWAYS_INLINE void | outputVecColResults (Packet4f(&acc)[num_acc][size], float *result, Packet4f pAlpha, Index extra_rows) |
template<Index num_acc, typename LhsMapper , bool zero> | |
EIGEN_ALWAYS_INLINE void | loadVecLoopVSX (Index k, LhsMapper &lhs, Packet4f(&a0)[num_acc][2]) |
template<Index num_acc, bool zero> | |
EIGEN_ALWAYS_INLINE void | multVecVSX (Packet4f(&acc)[num_acc][2], Packet4f(&a0)[num_acc][2], Packet4f(&b0)[2]) |
template<typename RhsMapper , bool linear> | |
EIGEN_ALWAYS_INLINE Packet8bf | loadColData (RhsMapper &rhs, Index j) |
template<Index num_acc, typename LhsMapper , typename RhsMapper , bool zero, bool linear> | |
EIGEN_ALWAYS_INLINE void | vecColLoopVSX (Index j, LhsMapper &lhs, RhsMapper &rhs, Packet4f(&acc)[num_acc][2]) |
template<Index num_acc> | |
EIGEN_ALWAYS_INLINE void | addResultsVSX (Packet4f(&acc)[num_acc][2]) |
template<const Index num_acc, typename LhsMapper , typename RhsMapper , bool extraRows, bool linear> | |
void | colVSXVecColLoopBody (Index &row, Index cend, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<const Index num_acc, typename LhsMapper , typename RhsMapper , bool extraRows, bool linear> | |
EIGEN_ALWAYS_INLINE void | colVSXVecColLoopBodyExtraN (Index &row, Index cend, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<typename LhsMapper , typename RhsMapper , bool extraRows, bool linear> | |
EIGEN_ALWAYS_INLINE void | colVSXVecColLoopBodyExtra (Index &row, Index cend, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<typename LhsMapper , typename RhsMapper , bool linear> | |
EIGEN_ALWAYS_INLINE void | calcVSXVecColLoops (Index cend, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<const Index size, bool inc, Index delta> | |
EIGEN_ALWAYS_INLINE void | storeBF16fromResult (bfloat16 *dst, Packet8bf data, Index resInc, Index extra) |
template<const Index size, bool inc = false> | |
EIGEN_ALWAYS_INLINE void | convertPointerF32toBF16VSX (Index &i, float *result, Index rows, bfloat16 *&dst, Index resInc=1) |
template<bool inc = false> | |
EIGEN_ALWAYS_INLINE void | convertArrayPointerF32toBF16VSX (float *result, Index rows, bfloat16 *dst, Index resInc=1) |
template<typename LhsMapper , typename RhsMapper > | |
void | gemv_bfloat16_col (Index rows, Index cols, const LhsMapper &alhs, const RhsMapper &rhs, bfloat16 *res, Index resIncr, bfloat16 alpha) |
template<Index num_acc, Index size> | |
EIGEN_ALWAYS_INLINE void | outputVecResults (Packet4f(&acc)[num_acc][size], float *result, Packet4f pAlpha) |
template<Index num_acc> | |
EIGEN_ALWAYS_INLINE void | preduxVecResults2VSX (Packet4f(&acc)[num_acc][2], Index k) |
template<Index num_acc> | |
EIGEN_ALWAYS_INLINE void | preduxVecResultsVSX (Packet4f(&acc)[num_acc][2]) |
EIGEN_ALWAYS_INLINE Packet8us | loadPacketPartialZero (Packet8us data, Index extra_cols) |
template<Index num_acc, typename LhsMapper , typename RhsMapper , bool extra> | |
EIGEN_ALWAYS_INLINE void | multVSXVecLoop (Packet4f(&acc)[num_acc][2], const LhsMapper &lhs, RhsMapper &rhs, Index j, Index extra_cols) |
template<Index num_acc, typename LhsMapper , typename RhsMapper > | |
EIGEN_ALWAYS_INLINE void | vecVSXLoop (Index cols, const LhsMapper &lhs, RhsMapper &rhs, Packet4f(&acc)[num_acc][2], Index extra_cols) |
template<const Index num_acc, typename LhsMapper , typename RhsMapper > | |
void | colVSXVecLoopBody (Index &row, Index cols, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<const Index num_acc, typename LhsMapper , typename RhsMapper > | |
EIGEN_ALWAYS_INLINE void | colVSXVecLoopBodyExtraN (Index &row, Index cols, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<typename LhsMapper , typename RhsMapper > | |
EIGEN_ALWAYS_INLINE void | colVSXVecLoopBodyExtra (Index &row, Index cols, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<typename LhsMapper , typename RhsMapper > | |
EIGEN_ALWAYS_INLINE void | calcVSXVecLoops (Index cols, Index rows, LhsMapper &lhs, RhsMapper &rhs, const Packet4f pAlpha, float *result) |
template<typename LhsMapper , typename RhsMapper > | |
EIGEN_STRONG_INLINE void | gemv_bfloat16_row (Index rows, Index cols, const LhsMapper &alhs, const RhsMapper &rhs, bfloat16 *res, Index resIncr, bfloat16 alpha) |
EIGEN_ALWAYS_INLINE Packet2cf | pconj2 (const Packet2cf &a) |
EIGEN_ALWAYS_INLINE Packet1cd | pconj2 (const Packet1cd &a) |
EIGEN_ALWAYS_INLINE Packet2cf | pconjinv (const Packet2cf &a) |
EIGEN_ALWAYS_INLINE Packet1cd | pconjinv (const Packet1cd &a) |
EIGEN_ALWAYS_INLINE Packet2cf | pcplxflipconj (Packet2cf a) |
EIGEN_ALWAYS_INLINE Packet1cd | pcplxflipconj (Packet1cd a) |
EIGEN_ALWAYS_INLINE Packet2cf | pcplxconjflip (Packet2cf a) |
EIGEN_ALWAYS_INLINE Packet1cd | pcplxconjflip (Packet1cd a) |
EIGEN_ALWAYS_INLINE Packet2cf | pnegate2 (Packet2cf a) |
EIGEN_ALWAYS_INLINE Packet1cd | pnegate2 (Packet1cd a) |
EIGEN_ALWAYS_INLINE Packet2cf | pcplxflipnegate (Packet2cf a) |
EIGEN_ALWAYS_INLINE Packet1cd | pcplxflipnegate (Packet1cd a) |
EIGEN_ALWAYS_INLINE Packet2cf | pcplxflip2 (Packet2cf a) |
EIGEN_ALWAYS_INLINE Packet1cd | pcplxflip2 (Packet1cd a) |
EIGEN_ALWAYS_INLINE Packet4f | pload_complex_half (std::complex< float > *src) |
template<typename RhsScalar > | |
EIGEN_ALWAYS_INLINE void | pload_realimag (RhsScalar *src, Packet4f &r, Packet4f &i) |
template<typename RhsScalar > | |
EIGEN_ALWAYS_INLINE void | pload_realimag (RhsScalar *src, Packet2d &r, Packet2d &i) |
template<typename RhsScalar > | |
EIGEN_ALWAYS_INLINE void | pload_realimag_row (RhsScalar *src, Packet4f &r, Packet4f &i) |
template<typename RhsScalar > | |
EIGEN_ALWAYS_INLINE void | pload_realimag_row (RhsScalar *src, Packet2d &r, Packet2d &i) |
EIGEN_ALWAYS_INLINE Packet4f | pload_realimag_combine (std::complex< float > *src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_realimag_combine (std::complex< double > *src) |
EIGEN_ALWAYS_INLINE Packet4f | pload_realimag_combine_row (std::complex< float > *src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_realimag_combine_row (std::complex< double > *src) |
template<typename ResPacket > | |
EIGEN_ALWAYS_INLINE Packet4f | pload_complex (std::complex< float > *src) |
template<typename ResPacket > | |
EIGEN_ALWAYS_INLINE Packet2d | pload_complex (std::complex< double > *src) |
template<typename ResPacket > | |
EIGEN_ALWAYS_INLINE Packet4f | pload_complex (Packet2cf *src) |
template<typename ResPacket > | |
EIGEN_ALWAYS_INLINE Packet2d | pload_complex (Packet1cd *src) |
EIGEN_ALWAYS_INLINE Packet4f | pload_complex_full (std::complex< float > *src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_complex_full (std::complex< double > *src) |
EIGEN_ALWAYS_INLINE Packet4f | pload_complex_full_row (std::complex< float > *src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_complex_full_row (std::complex< double > *src) |
EIGEN_ALWAYS_INLINE Packet4f | pload_real (float *src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_real (double *src) |
EIGEN_ALWAYS_INLINE Packet4f | pload_real (Packet4f &src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_real (Packet2d &src) |
EIGEN_ALWAYS_INLINE Packet4f | pload_real_full (float *src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_real_full (double *src) |
EIGEN_ALWAYS_INLINE Packet4f | pload_real_full (std::complex< float > *src) |
EIGEN_ALWAYS_INLINE Packet2d | pload_real_full (std::complex< double > *src) |
template<typename ResPacket > | |
EIGEN_ALWAYS_INLINE Packet4f | pload_real_row (float *src) |
template<typename ResPacket > | |
EIGEN_ALWAYS_INLINE Packet2d | pload_real_row (double *src) |
EIGEN_ALWAYS_INLINE Packet2cf | padd (Packet2cf &a, std::complex< float > &b) |
EIGEN_ALWAYS_INLINE Packet1cd | padd (Packet1cd &a, std::complex< double > &b) |
template<typename Scalar , typename ResScalar > | |
EIGEN_ALWAYS_INLINE Scalar | pset1_realimag (ResScalar &alpha, int which, int conj) |
template<typename Scalar , typename ResScalar , typename ResPacket , int which> | |
EIGEN_ALWAYS_INLINE Packet2cf | pset1_complex (std::complex< float > &alpha) |
template<typename Scalar , typename ResScalar , typename ResPacket , int which> | |
EIGEN_ALWAYS_INLINE Packet1cd | pset1_complex (std::complex< double > &alpha) |
template<typename Packet > | |
EIGEN_ALWAYS_INLINE Packet | pset_zero () |
template<> | |
EIGEN_ALWAYS_INLINE Packet2cf | pset_zero< Packet2cf > () |
template<> | |
EIGEN_ALWAYS_INLINE Packet1cd | pset_zero< Packet1cd > () |
template<typename Packet , typename LhsPacket , typename RhsPacket > | |
EIGEN_ALWAYS_INLINE Packet | pset_init (Packet &c1) |
template<typename ScalarPacket , typename AlphaData > | |
EIGEN_ALWAYS_INLINE ScalarPacket | pmadd_complex (ScalarPacket &c0, ScalarPacket &c2, ScalarPacket &c4, AlphaData &b0) |
template<typename Scalar , typename ScalarPacket , typename PResPacket , typename ResPacket , typename ResScalar , typename AlphaData > | |
EIGEN_ALWAYS_INLINE void | pstoreu_pmadd_complex (PResPacket &c0, AlphaData &b0, ResScalar *res) |
template<typename ScalarPacket , typename PResPacket , typename ResPacket , typename ResScalar , typename AlphaData , Index ResPacketSize, Index iter2> | |
EIGEN_ALWAYS_INLINE void | pstoreu_pmadd_complex (PResPacket &c0, PResPacket &c1, AlphaData &b0, ResScalar *res) |
template<typename Scalar , typename LhsScalar , typename LhsMapper , typename LhsPacket > | |
EIGEN_ALWAYS_INLINE LhsPacket | loadLhsPacket (LhsMapper &lhs, Index i, Index j) |
template<typename ComplexPacket , typename RealPacket , bool ConjugateLhs, bool ConjugateRhs, bool Negate> | |
EIGEN_ALWAYS_INLINE RealPacket | pmadd_complex_complex (RealPacket &a, RealPacket &b, RealPacket &c) |
template<typename ComplexPacket , typename RealPacket , bool Conjugate> | |
EIGEN_ALWAYS_INLINE RealPacket | pmadd_complex_real (RealPacket &a, RealPacket &b, RealPacket &c) |
template<typename LhsPacket , typename RhsScalar , typename RhsPacket , typename PResPacket , bool ConjugateLhs, bool ConjugateRhs, int StorageOrder> | |
EIGEN_ALWAYS_INLINE void | gemv_mult_generic (LhsPacket &a0, RhsScalar *b, PResPacket &c0) |
template<typename ScalarPacket , typename LhsPacket , typename RhsScalar , typename RhsPacket , typename PResPacket , typename ResPacket , bool ConjugateLhs, bool ConjugateRhs, int StorageOrder> | |
EIGEN_ALWAYS_INLINE void | gemv_mult_complex_complex (LhsPacket &a0, RhsScalar *b, PResPacket &c0, ResPacket &c1) |
template<typename ScalarPacket , typename LhsPacket , typename RhsScalar , typename RhsPacket , typename PResPacket , typename ResPacket , bool ConjugateLhs, bool ConjugateRhs, int StorageOrder> | |
EIGEN_ALWAYS_INLINE void | gemv_mult_real_complex (LhsPacket &a0, RhsScalar *b, PResPacket &c0) |
template<typename ScalarPacket , typename LhsPacket , typename RhsScalar , typename RhsPacket , typename PResPacket , typename ResPacket , bool ConjugateLhs, bool ConjugateRhs, int StorageOrder> | |
EIGEN_ALWAYS_INLINE void | gemv_mult_complex_real (LhsPacket &a0, RhsScalar *b, PResPacket &c0) |
template<typename Scalar , typename LhsScalar , typename LhsMapper , bool ConjugateLhs, bool LhsIsReal, typename RhsScalar , typename RhsMapper , bool ConjugateRhs, bool RhsIsReal, typename ResScalar > | |
EIGEN_STRONG_INLINE void | gemv_complex_col (Index rows, Index cols, const LhsMapper &alhs, const RhsMapper &rhs, ResScalar *res, Index resIncr, ResScalar alpha) |
template<typename ResScalar , typename ResPacket > | |
EIGEN_ALWAYS_INLINE ScalarBlock< ResScalar, 2 > | predux_real (ResPacket &a, ResPacket &b) |
template<typename ResScalar , typename ResPacket > | |
EIGEN_ALWAYS_INLINE ScalarBlock< ResScalar, 2 > | predux_complex (ResPacket &a, ResPacket &b) |
template<typename LhsScalar , typename LhsMapper , typename RhsScalar , typename RhsMapper , typename ResScalar > | |
EIGEN_STRONG_INLINE void | gemv_row (Index rows, Index cols, const LhsMapper &alhs, const RhsMapper &rhs, ResScalar *res, Index resIncr, ResScalar alpha) |
template<typename ResScalar , typename PResPacket , typename ResPacket , typename LhsPacket , typename RhsPacket > | |
EIGEN_ALWAYS_INLINE ScalarBlock< ResScalar, 2 > | predux_complex (PResPacket &a0, PResPacket &b0, ResPacket &a1, ResPacket &b1) |
template<typename Scalar , typename LhsScalar , typename LhsMapper , bool ConjugateLhs, bool LhsIsReal, typename RhsScalar , typename RhsMapper , bool ConjugateRhs, bool RhsIsReal, typename ResScalar > | |
EIGEN_STRONG_INLINE void | gemv_complex_row (Index rows, Index cols, const LhsMapper &alhs, const RhsMapper &rhs, ResScalar *res, Index resIncr, ResScalar alpha) |
Variables | |
static Packet16uc | p16uc_MERGE16_32_V1 = {0, 1, 16, 17, 0, 1, 16, 17, 0, 1, 16, 17, 0, 1, 16, 17} |
static Packet16uc | p16uc_MERGE16_32_V2 = {2, 3, 18, 19, 2, 3, 18, 19, 2, 3, 18, 19, 2, 3, 18, 19} |
const Packet16uc | p16uc_COMPLEX32_XORFLIP |
const Packet16uc | p16uc_COMPLEX64_XORFLIP |
const Packet16uc | p16uc_COMPLEX32_CONJ_XOR |
const Packet16uc | p16uc_COMPLEX64_CONJ_XOR |
const Packet16uc | p16uc_COMPLEX32_CONJ_XOR2 |
const Packet16uc | p16uc_COMPLEX64_CONJ_XOR2 |
const Packet16uc | p16uc_COMPLEX32_NEGATE |
const Packet16uc | p16uc_COMPLEX64_NEGATE |
const Packet16uc | p16uc_MERGEE |
const Packet16uc | p16uc_MERGEO |
#define COMPLEX_DELTA 2 |
#define EIGEN_POWER_GEMV_COMPLEX_SPECIALIZE_COL | ( | Scalar, | |
LhsScalar, | |||
RhsScalar | |||
) |
#define EIGEN_POWER_GEMV_COMPLEX_SPECIALIZE_ROW | ( | Scalar, | |
LhsScalar, | |||
RhsScalar | |||
) |
#define EIGEN_POWER_GEMV_PREFETCH | ( | p | ) |
#define EIGEN_POWER_GEMV_REAL_SPECIALIZE_COL | ( | Scalar | ) |
#define EIGEN_POWER_GEMV_REAL_SPECIALIZE_COL_BFLOAT16 | ( | ) |
#define EIGEN_POWER_GEMV_REAL_SPECIALIZE_ROW | ( | Scalar | ) |
#define EIGEN_POWER_GEMV_REAL_SPECIALIZE_ROW_BFLOAT16 | ( | ) |
#define gemv_bf16_col gemv_bfloat16_col |
#define gemv_bf16_row gemv_bfloat16_row |
#define GEMV_BUILDPAIR_MMA | ( | dst, | |
src1, | |||
src2 | |||
) | __builtin_vsx_assemble_pair(&dst, (__vector unsigned char)src1, (__vector unsigned char)src2) |
#define GEMV_INIT | ( | iter, | |
N | |||
) |
#define GEMV_INIT_COMPLEX | ( | iter, | |
N | |||
) |
#define GEMV_INIT_COMPLEX_OLD | ( | iter, | |
N | |||
) |
#define GEMV_INIT_ROW | ( | iter, | |
N | |||
) |
#define GEMV_IS_COMPLEX_COMPLEX ((sizeof(LhsPacket) == 16) && (sizeof(RhsPacket) == 16)) |
#define GEMV_IS_COMPLEX_FLOAT (ResPacketSize == (16 / sizeof(std::complex<float>))) |
#define GEMV_IS_FLOAT (ResPacketSize == (16 / sizeof(float))) |
#define GEMV_IS_SCALAR (sizeof(ResPacket) != 16) |
#define GEMV_LOADPACKET_COL | ( | iter | ) | lhs.template load<LhsPacket, LhsAlignment>(i + ((iter) * LhsPacketSize), j) |
#define GEMV_LOADPACKET_COL_COMPLEX | ( | iter | ) | loadLhsPacket<Scalar, LhsScalar, LhsMapper, PLhsPacket>(lhs, i + ((iter) * ResPacketSize), j) |
#define GEMV_LOADPACKET_COL_COMPLEX_DATA | ( | iter | ) | convertReal(GEMV_LOADPACKET_COL_COMPLEX(iter)) |
#define GEMV_LOADPACKET_ROW_COMPLEX | ( | iter | ) | loadLhsPacket<Scalar, LhsScalar, LhsMapper, PLhsPacket>(lhs, i + (iter), j) |
#define GEMV_LOADPACKET_ROW_COMPLEX_DATA | ( | iter | ) | convertReal(GEMV_LOADPACKET_ROW_COMPLEX(iter)) |
#define GEMV_LOADPACKET_ROW_COMPLEX_OLD | ( | iter | ) | lhs.template load<LhsPacket, LhsAlignment>(i + (iter), j) |
#define GEMV_MULT | ( | iter1, | |
iter2, | |||
iter3, | |||
N | |||
) |
#define GEMV_MULT_COMPLEX | ( | iter1, | |
iter2, | |||
iter3, | |||
N | |||
) |
#define GEMV_MULT_COMPLEX_COMPLEX | ( | LhsType, | |
RhsType, | |||
ResType | |||
) |
#define GEMV_MULT_COMPLEX_REAL | ( | LhsType, | |
RhsType, | |||
ResType1, | |||
ResType2 | |||
) |
#define GEMV_MULT_REAL_COMPLEX | ( | LhsType, | |
RhsType, | |||
ResType | |||
) |
#define GEMV_PREDUX2 | ( | iter1, | |
iter2, | |||
iter3, | |||
N | |||
) |
#define GEMV_PREDUX4_COMPLEX | ( | iter1, | |
iter2, | |||
iter3, | |||
N | |||
) |
#define GEMV_PREDUX4_COMPLEX_OLD | ( | iter1, | |
iter2, | |||
iter3, | |||
N | |||
) |
#define GEMV_PREFETCH | ( | iter, | |
N | |||
) |
#define GEMV_PROCESS_COL | ( | N | ) | GEMV_PROCESS_COL_ONE(N) |
#define GEMV_PROCESS_COL_COMPLEX | ( | N | ) | GEMV_PROCESS_COL_COMPLEX_ONE(N) |
#define GEMV_PROCESS_COL_COMPLEX_ONE | ( | N | ) |
main macro for gemv_complex_col - initialize accumulators, multiply and add inputs, and store results
#define GEMV_PROCESS_COL_ONE | ( | N | ) |
main macro for gemv_col - initialize accumulators, multiply and add inputs, and store results
#define GEMV_PROCESS_END_ROW_COMPLEX | ( | N | ) |
#define GEMV_PROCESS_ROW | ( | N | ) |
main macro for gemv_row - initialize accumulators, multiply and add inputs, predux and store results
#define GEMV_PROCESS_ROW_COMPLEX | ( | N | ) | GEMV_PROCESS_ROW_COMPLEX_ONE(N) |
#define GEMV_PROCESS_ROW_COMPLEX_IS_NEW (sizeof(Scalar) == sizeof(float)) || GEMV_IS_COMPLEX_COMPLEX |
#define GEMV_PROCESS_ROW_COMPLEX_ONE | ( | N | ) |
#define GEMV_PROCESS_ROW_COMPLEX_ONE_NEW | ( | N | ) |
main macro for gemv_complex_row - initialize accumulators, multiply and add inputs, predux and store results
#define GEMV_PROCESS_ROW_COMPLEX_ONE_OLD | ( | N | ) |
#define GEMV_PROCESS_ROW_COMPLEX_PREDUX | ( | iter | ) |
#define GEMV_PROCESS_ROW_COMPLEX_PREDUX_NEW | ( | iter | ) |
#define GEMV_PROCESS_ROW_COMPLEX_PREDUX_OLD | ( | iter | ) | dd0 = predux(c1##iter); |
#define GEMV_PROCESS_ROW_COMPLEX_SINGLE | ( | N | ) |
#define GEMV_PROCESS_ROW_COMPLEX_SINGLE_NEW | ( | N | ) |
#define GEMV_PROCESS_ROW_COMPLEX_SINGLE_OLD | ( | N | ) |
#define GEMV_PROCESS_ROW_COMPLEX_SINGLE_WORK | ( | which, | |
N | |||
) |
#define GEMV_STORE_COL | ( | iter, | |
N | |||
) |
#define GEMV_STORE_COL_COMPLEX | ( | iter, | |
N | |||
) |
#define GEMV_STORE_ROW | ( | iter1, | |
iter2, | |||
iter3, | |||
N | |||
) |
#define GEMV_STORE_ROW_COMPLEX | ( | iter1, | |
iter2, | |||
iter3, | |||
N | |||
) |
#define GEMV_UNROLL | ( | func, | |
N | |||
) | func(0, N) func(1, N) func(2, N) func(3, N) func(4, N) func(5, N) func(6, N) func(7, N) |
#define GEMV_UNROLL_HALF | ( | func, | |
N | |||
) | func(0, 0, 1, N) func(1, 2, 3, N) func(2, 4, 5, N) func(3, 6, 7, N) |
#define GEMV_UNROLL_ROW | ( | func, | |
N | |||
) | func(0, N) func(1, N) func(2, N) func(3, N) func(4, N) func(5, N) func(6, N) func(7, N) |
#define GEMV_UNROLL_ROW_HALF | ( | func, | |
N | |||
) | func(0, 0, 1, N) func(1, 2, 3, N) func(2, 4, 5, N) func(3, 6, 7, N) |
#define GEMV_WORK_COL | ( | iter, | |
N | |||
) |
#define GEMV_WORK_COL_COMPLEX | ( | iter, | |
N | |||
) |
#define GEMV_WORK_ROW | ( | iter, | |
N | |||
) |
#define GEMV_WORK_ROW_COMPLEX | ( | iter, | |
N | |||
) |
#define GEMV_WORK_ROW_COMPLEX_OLD | ( | iter, | |
N | |||
) |
#define MAX_BFLOAT16_VEC_ACC_VSX 8 |
EIGEN_ALWAYS_INLINE void addResultsVSX | ( | Packet4f(&) | acc[num_acc][2] | ) |
EIGEN_ALWAYS_INLINE void calcVSXVecColLoops | ( | Index | cend, |
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
References MAX_BFLOAT16_VEC_ACC_VSX, row(), and rows.
EIGEN_ALWAYS_INLINE void calcVSXVecLoops | ( | Index | cols, |
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
void colVSXVecColLoopBody | ( | Index & | row, |
Index | cend, | ||
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
References j, MAX_BFLOAT16_VEC_ACC_VSX, row(), and rows.
EIGEN_ALWAYS_INLINE void colVSXVecColLoopBodyExtra | ( | Index & | row, |
Index | cend, | ||
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
EIGEN_ALWAYS_INLINE void colVSXVecColLoopBodyExtraN | ( | Index & | row, |
Index | cend, | ||
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
References MAX_BFLOAT16_VEC_ACC_VSX, row(), and rows.
void colVSXVecLoopBody | ( | Index & | row, |
Index | cols, | ||
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
References cols, MAX_BFLOAT16_VEC_ACC_VSX, row(), and rows.
EIGEN_ALWAYS_INLINE void colVSXVecLoopBodyExtra | ( | Index & | row, |
Index | cols, | ||
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
EIGEN_ALWAYS_INLINE void colVSXVecLoopBodyExtraN | ( | Index & | row, |
Index | cols, | ||
Index | rows, | ||
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
const Packet4f | pAlpha, | ||
float * | result | ||
) |
References cols, MAX_BFLOAT16_VEC_ACC_VSX, row(), and rows.
EIGEN_ALWAYS_INLINE void convertArrayPointerF32toBF16VSX | ( | float * | result, |
Index | rows, | ||
bfloat16 * | dst, | ||
Index | resInc = 1 |
||
) |
Referenced by gemv_bfloat16_col(), and gemv_bfloat16_row().
EIGEN_ALWAYS_INLINE void convertPointerF32toBF16VSX | ( | Index & | i, |
float * | result, | ||
Index | rows, | ||
bfloat16 *& | dst, | ||
Index | resInc = 1 |
||
) |
References Eigen::internal::convertF32toBF16VSX(), i, rows, and size.
void gemv_bfloat16_col | ( | Index | rows, |
Index | cols, | ||
const LhsMapper & | alhs, | ||
const RhsMapper & | rhs, | ||
bfloat16 * | res, | ||
Index | resIncr, | ||
bfloat16 | alpha | ||
) |
References alpha, Eigen::bfloat16_impl::bfloat16_to_float(), cols, Eigen::internal::convertArrayPointerBF16toF32(), convertArrayPointerF32toBF16VSX(), ei_declare_aligned_stack_constructed_variable, eigen_internal_assert, EIGEN_UNUSED_VARIABLE, Eigen::numext::mini(), Eigen::internal::pset1< Packet4f >(), res, rows, and UseStride< RhsMapper, LhsMapper, typename >::run().
EIGEN_STRONG_INLINE void gemv_bfloat16_row | ( | Index | rows, |
Index | cols, | ||
const LhsMapper & | alhs, | ||
const RhsMapper & | rhs, | ||
bfloat16 * | res, | ||
Index | resIncr, | ||
bfloat16 | alpha | ||
) |
References alpha, Eigen::bfloat16_impl::bfloat16_to_float(), cols, Eigen::internal::convertArrayPointerBF16toF32(), convertArrayPointerF32toBF16VSX(), ei_declare_aligned_stack_constructed_variable, eigen_internal_assert, Eigen::internal::pset1< Packet4f >(), res, and rows.
EIGEN_STRONG_INLINE void gemv_col | ( | Index | rows, |
Index | cols, | ||
const LhsMapper & | alhs, | ||
const RhsMapper & | rhs, | ||
ResScalar * | res, | ||
Index | resIncr, | ||
ResScalar | alpha | ||
) |
perform a matrix multiply and accumulate of packet a and packet b
References alpha, calibrate::c, cols, e(), eigen_internal_assert, EIGEN_UNUSED_VARIABLE, GEMV_PROCESS_COL, GEMV_PROCESS_COL_ONE, i, j, Eigen::numext::mini(), palpha, res, rows, and Eigen::Unaligned.
EIGEN_STRONG_INLINE void gemv_complex_col | ( | Index | rows, |
Index | cols, | ||
const LhsMapper & | alhs, | ||
const RhsMapper & | rhs, | ||
ResScalar * | res, | ||
Index | resIncr, | ||
ResScalar | alpha | ||
) |
References a, alpha, cols, eigen_internal_assert, EIGEN_UNUSED_VARIABLE, f(), Global_parameters::f1(), Global_parameters::f2(), GEMV_IS_COMPLEX_COMPLEX, GEMV_IS_COMPLEX_FLOAT, GEMV_PROCESS_COL_COMPLEX, GEMV_PROCESS_COL_COMPLEX_ONE, i, j, Eigen::numext::mini(), res, rows, compute_granudrum_aor::type, and Eigen::Unaligned.
EIGEN_STRONG_INLINE void gemv_complex_row | ( | Index | rows, |
Index | cols, | ||
const LhsMapper & | alhs, | ||
const RhsMapper & | rhs, | ||
ResScalar * | res, | ||
Index | resIncr, | ||
ResScalar | alpha | ||
) |
References alpha, cols, eigen_internal_assert, GEMV_IS_COMPLEX_COMPLEX, GEMV_PROCESS_ROW_COMPLEX, GEMV_PROCESS_ROW_COMPLEX_PREDUX, GEMV_PROCESS_ROW_COMPLEX_SINGLE, i, j, res, rows, compute_granudrum_aor::type, and Eigen::Unaligned.
EIGEN_ALWAYS_INLINE void gemv_mult_complex_complex | ( | LhsPacket & | a0, |
RhsScalar * | b, | ||
PResPacket & | c0, | ||
ResPacket & | c1 | ||
) |
core multiply operation for vectors - complex times complex
References b, Eigen::ColMajor, pconj2(), and pcplxflipconj().
EIGEN_ALWAYS_INLINE void gemv_mult_complex_real | ( | LhsPacket & | a0, |
RhsScalar * | b, | ||
PResPacket & | c0 | ||
) |
core multiply operation for vectors - complex times real
References b, Eigen::ColMajor, and pload_real().
EIGEN_ALWAYS_INLINE void gemv_mult_generic | ( | LhsPacket & | a0, |
RhsScalar * | b, | ||
PResPacket & | c0 | ||
) |
References b, and Eigen::ColMajor.
EIGEN_ALWAYS_INLINE void gemv_mult_real_complex | ( | LhsPacket & | a0, |
RhsScalar * | b, | ||
PResPacket & | c0 | ||
) |
core multiply operation for vectors - real times complex
References b, Eigen::ColMajor, pload_complex_full(), and pload_complex_full_row().
EIGEN_STRONG_INLINE void gemv_row | ( | Index | rows, |
Index | cols, | ||
const LhsMapper & | alhs, | ||
const RhsMapper & | rhs, | ||
ResScalar * | res, | ||
Index | resIncr, | ||
ResScalar | alpha | ||
) |
References alpha, calibrate::c, cols, eigen_internal_assert, GEMV_PROCESS_ROW, i, j, Eigen::internal::predux(), res, rows, and Eigen::Unaligned.
EIGEN_ALWAYS_INLINE Packet8bf loadColData | ( | RhsMapper & | rhs, |
Index | j | ||
) |
References j, and loadColData_impl< RhsMapper, linear >::run().
EIGEN_ALWAYS_INLINE LhsPacket loadLhsPacket | ( | LhsMapper & | lhs, |
Index | i, | ||
Index | j | ||
) |
load lhs packet
References i, j, and pload_real_full().
EIGEN_ALWAYS_INLINE Packet8us loadPacketPartialZero | ( | Packet8us | data, |
Index | extra_cols | ||
) |
References data, and Eigen::internal::pset1< Packet16uc >().
Referenced by multVSXVecLoop().
EIGEN_ALWAYS_INLINE void loadVecLoopVSX | ( | Index | k, |
LhsMapper & | lhs, | ||
Packet4f(&) | a0[num_acc][2] | ||
) |
References k, Eigen::internal::oneConvertBF16Hi(), Eigen::internal::oneConvertBF16Lo(), and zero().
EIGEN_ALWAYS_INLINE void multVecVSX | ( | Packet4f(&) | acc[num_acc][2], |
Packet4f(&) | a0[num_acc][2], | ||
Packet4f(&) | b0[2] | ||
) |
EIGEN_ALWAYS_INLINE void multVSXVecLoop | ( | Packet4f(&) | acc[num_acc][2], |
const LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
Index | j, | ||
Index | extra_cols | ||
) |
References j, k, loadPacketPartialZero(), Eigen::internal::oneConvertBF16Hi(), and Eigen::internal::oneConvertBF16Lo().
EIGEN_ALWAYS_INLINE void outputVecCol | ( | Packet4f | acc, |
float * | result, | ||
Packet4f | pAlpha, | ||
Index | extra_rows | ||
) |
References Eigen::internal::ploadu< Packet4f >(), Eigen::internal::pmadd(), Eigen::internal::pstoreu(), and Eigen::internal::pstoreu_partial().
EIGEN_ALWAYS_INLINE void outputVecColResults | ( | Packet4f(&) | acc[num_acc][size], |
float * | result, | ||
Packet4f | pAlpha, | ||
Index | extra_rows | ||
) |
References k.
EIGEN_ALWAYS_INLINE void outputVecResults | ( | Packet4f(&) | acc[num_acc][size], |
float * | result, | ||
Packet4f | pAlpha | ||
) |
EIGEN_ALWAYS_INLINE Packet1cd padd | ( | Packet1cd & | a, |
std::complex< double > & | b | ||
) |
References a, b, and EIGEN_UNUSED_VARIABLE.
EIGEN_ALWAYS_INLINE Packet2cf padd | ( | Packet2cf & | a, |
std::complex< float > & | b | ||
) |
References a, b, and EIGEN_UNUSED_VARIABLE.
Referenced by packetmath(), predux_complex(), and packetmath_minus_zero_add_test< Scalar, Packet, std::enable_if_t<!NumTraits< Scalar >::IsInteger > >::run().
EIGEN_ALWAYS_INLINE Packet1cd pconj2 | ( | const Packet1cd & | a | ) |
References a, p16uc_COMPLEX64_CONJ_XOR, and Eigen::internal::pxor().
EIGEN_ALWAYS_INLINE Packet2cf pconj2 | ( | const Packet2cf & | a | ) |
packet conjugate (same as pconj but uses the constants in pcplxflipconj for better code generation)
References a, p16uc_COMPLEX32_CONJ_XOR, and Eigen::internal::pxor().
Referenced by gemv_mult_complex_complex(), pcplxconjflip(), pcplxflipconj(), pmadd_complex_complex(), and pmadd_complex_real().
EIGEN_ALWAYS_INLINE Packet1cd pconjinv | ( | const Packet1cd & | a | ) |
References a, p16uc_COMPLEX64_CONJ_XOR2, and Eigen::internal::pxor().
EIGEN_ALWAYS_INLINE Packet2cf pconjinv | ( | const Packet2cf & | a | ) |
packet conjugate with real & imaginary operation inverted
References a, p16uc_COMPLEX32_CONJ_XOR2, and Eigen::internal::pxor().
EIGEN_ALWAYS_INLINE Packet1cd pcplxconjflip | ( | Packet1cd | a | ) |
References a, p16uc_COMPLEX64_CONJ_XOR2, p16uc_COMPLEX64_XORFLIP, pconj2(), and Eigen::internal::pcplxflip().
EIGEN_ALWAYS_INLINE Packet2cf pcplxconjflip | ( | Packet2cf | a | ) |
packet conjugate and flip the real & imaginary results
References a, p16uc_COMPLEX32_CONJ_XOR2, p16uc_COMPLEX32_XORFLIP, pconj2(), and Eigen::internal::pcplxflip().
EIGEN_ALWAYS_INLINE Packet1cd pcplxflip2 | ( | Packet1cd | a | ) |
References a, and p16uc_COMPLEX64_XORFLIP.
EIGEN_ALWAYS_INLINE Packet2cf pcplxflip2 | ( | Packet2cf | a | ) |
flip the real & imaginary results
References a, and p16uc_COMPLEX32_XORFLIP.
EIGEN_ALWAYS_INLINE Packet1cd pcplxflipconj | ( | Packet1cd | a | ) |
References a, p16uc_COMPLEX64_CONJ_XOR, p16uc_COMPLEX64_XORFLIP, pconj2(), and Eigen::internal::pcplxflip().
EIGEN_ALWAYS_INLINE Packet2cf pcplxflipconj | ( | Packet2cf | a | ) |
flip the real & imaginary results and packet conjugate
References a, p16uc_COMPLEX32_CONJ_XOR, p16uc_COMPLEX32_XORFLIP, pconj2(), and Eigen::internal::pcplxflip().
Referenced by gemv_mult_complex_complex(), and pstoreu_pmadd_complex().
EIGEN_ALWAYS_INLINE Packet1cd pcplxflipnegate | ( | Packet1cd | a | ) |
References a, p16uc_COMPLEX64_NEGATE, p16uc_COMPLEX64_XORFLIP, Eigen::internal::pcplxflip(), and pnegate2().
EIGEN_ALWAYS_INLINE Packet2cf pcplxflipnegate | ( | Packet2cf | a | ) |
flip the real & imaginary results and negate
References a, p16uc_COMPLEX32_NEGATE, p16uc_COMPLEX32_XORFLIP, Eigen::internal::pcplxflip(), and pnegate2().
EIGEN_ALWAYS_INLINE Packet2d pload_complex | ( | Packet1cd * | src | ) |
EIGEN_ALWAYS_INLINE Packet4f pload_complex | ( | Packet2cf * | src | ) |
EIGEN_ALWAYS_INLINE Packet2d pload_complex | ( | std::complex< double > * | src | ) |
References Eigen::internal::ploadu< Packet2d >().
EIGEN_ALWAYS_INLINE Packet4f pload_complex | ( | std::complex< float > * | src | ) |
load a scalar or a vector from complex location
References GEMV_IS_SCALAR, pload_complex_half(), and Eigen::internal::ploadu< Packet4f >().
EIGEN_ALWAYS_INLINE Packet2d pload_complex_full | ( | std::complex< double > * | src | ) |
References Eigen::internal::ploadu< Packet1cd >(), and Eigen::internal::Packet1cd::v.
EIGEN_ALWAYS_INLINE Packet4f pload_complex_full | ( | std::complex< float > * | src | ) |
load a full vector from complex location - column-wise
References Eigen::internal::ploaddup< Packet2d >().
Referenced by gemv_mult_real_complex(), pload_complex_full_row(), and pload_real_full().
EIGEN_ALWAYS_INLINE Packet2d pload_complex_full_row | ( | std::complex< double > * | src | ) |
References pload_complex_full().
EIGEN_ALWAYS_INLINE Packet4f pload_complex_full_row | ( | std::complex< float > * | src | ) |
load a full vector from complex location - row-wise
References Eigen::internal::ploadu< Packet2cf >(), and Eigen::internal::Packet2cf::v.
Referenced by gemv_mult_real_complex().
EIGEN_ALWAYS_INLINE Packet4f pload_complex_half | ( | std::complex< float > * | src | ) |
load half a vector with one complex value
References COMPLEX_DELTA, and plotPSD::t.
Referenced by pload_complex(), and pload_realimag().
EIGEN_ALWAYS_INLINE Packet2d pload_real | ( | double * | src | ) |
References Eigen::internal::pset1< Packet2d >().
EIGEN_ALWAYS_INLINE Packet4f pload_real | ( | float * | src | ) |
load a vector from a real-only scalar location - column-wise
References Eigen::internal::pset1< Packet4f >().
Referenced by gemv_mult_complex_real(), pload_real_full(), and pload_real_row().
EIGEN_ALWAYS_INLINE Packet2d pload_real | ( | Packet2d & | src | ) |
EIGEN_ALWAYS_INLINE Packet4f pload_real | ( | Packet4f & | src | ) |
EIGEN_ALWAYS_INLINE Packet2d pload_real_full | ( | double * | src | ) |
References pload_real().
EIGEN_ALWAYS_INLINE Packet4f pload_real_full | ( | float * | src | ) |
load a vector from a real-only vector location
References Eigen::internal::ploadu< Packet4f >(), and ret.
Referenced by loadLhsPacket(), and pload_real_row().
EIGEN_ALWAYS_INLINE Packet2d pload_real_full | ( | std::complex< double > * | src | ) |
References pload_complex_full().
EIGEN_ALWAYS_INLINE Packet4f pload_real_full | ( | std::complex< float > * | src | ) |
References pload_complex_full().
EIGEN_ALWAYS_INLINE Packet2d pload_real_row | ( | double * | src | ) |
References pload_real().
EIGEN_ALWAYS_INLINE Packet4f pload_real_row | ( | float * | src | ) |
load a vector from a real-only scalar location - row-wise
References GEMV_IS_SCALAR, pload_real_full(), and Eigen::internal::ploadu< Packet4f >().
EIGEN_ALWAYS_INLINE void pload_realimag | ( | RhsScalar * | src, |
Packet2d & | r, | ||
Packet2d & | i | ||
) |
References i, Eigen::internal::ploadu< Packet2d >(), UniformPSDSelfTest::r, and plotPSD::t.
EIGEN_ALWAYS_INLINE void pload_realimag | ( | RhsScalar * | src, |
Packet4f & | r, | ||
Packet4f & | i | ||
) |
load two vectors from the real and imaginary portions of a complex value
References COMPLEX_DELTA, i, pload_complex_half(), UniformPSDSelfTest::r, and plotPSD::t.
Referenced by pload_realimag_row().
EIGEN_ALWAYS_INLINE Packet2d pload_realimag_combine | ( | std::complex< double > * | src | ) |
References Eigen::internal::ploadu< Packet1cd >(), and Eigen::internal::Packet1cd::v.
EIGEN_ALWAYS_INLINE Packet4f pload_realimag_combine | ( | std::complex< float > * | src | ) |
load and splat a complex value into a vector - column-wise
References Eigen::internal::ploaddup< Packet2d >(), and ret.
EIGEN_ALWAYS_INLINE Packet2d pload_realimag_combine_row | ( | std::complex< double > * | src | ) |
References Eigen::internal::ploadu< Packet1cd >(), and Eigen::internal::Packet1cd::v.
EIGEN_ALWAYS_INLINE Packet4f pload_realimag_combine_row | ( | std::complex< float > * | src | ) |
load a complex value into a vector - row-wise
References Eigen::internal::ploadu< Packet2cf >(), and Eigen::internal::Packet2cf::v.
EIGEN_ALWAYS_INLINE void pload_realimag_row | ( | RhsScalar * | src, |
Packet2d & | r, | ||
Packet2d & | i | ||
) |
References i, pload_realimag(), and UniformPSDSelfTest::r.
EIGEN_ALWAYS_INLINE void pload_realimag_row | ( | RhsScalar * | src, |
Packet4f & | r, | ||
Packet4f & | i | ||
) |
load two vectors from the interleaved real & imaginary values of src
References i, p16uc_MERGEE, p16uc_MERGEO, Eigen::internal::ploadu< Packet4f >(), UniformPSDSelfTest::r, and plotPSD::t.
EIGEN_ALWAYS_INLINE ScalarPacket pmadd_complex | ( | ScalarPacket & | c0, |
ScalarPacket & | c2, | ||
ScalarPacket & | c4, | ||
AlphaData & | b0 | ||
) |
multiply and add for complex math
References Eigen::internal::pmadd().
EIGEN_ALWAYS_INLINE RealPacket pmadd_complex_complex | ( | RealPacket & | a, |
RealPacket & | b, | ||
RealPacket & | c | ||
) |
EIGEN_ALWAYS_INLINE RealPacket pmadd_complex_real | ( | RealPacket & | a, |
RealPacket & | b, | ||
RealPacket & | c | ||
) |
EIGEN_ALWAYS_INLINE Packet1cd pnegate2 | ( | Packet1cd | a | ) |
References a, p16uc_COMPLEX64_NEGATE, and Eigen::internal::pxor().
EIGEN_ALWAYS_INLINE Packet2cf pnegate2 | ( | Packet2cf | a | ) |
packet negate
References a, p16uc_COMPLEX32_NEGATE, and Eigen::internal::pxor().
Referenced by pcplxflipnegate().
EIGEN_ALWAYS_INLINE ScalarBlock<ResScalar, 2> predux_complex | ( | PResPacket & | a0, |
PResPacket & | b0, | ||
ResPacket & | a1, | ||
ResPacket & | b1 | ||
) |
References GEMV_IS_COMPLEX_COMPLEX, and padd().
EIGEN_ALWAYS_INLINE ScalarBlock<ResScalar, 2> predux_complex | ( | ResPacket & | a, |
ResPacket & | b | ||
) |
EIGEN_ALWAYS_INLINE ScalarBlock<ResScalar, 2> predux_real | ( | ResPacket & | a, |
ResPacket & | b | ||
) |
References a, b, Eigen::internal::predux(), and ScalarBlock< Scalar, N >::scalar.
EIGEN_ALWAYS_INLINE void preduxVecResults2VSX | ( | Packet4f(&) | acc[num_acc][2], |
Index | k | ||
) |
References k.
EIGEN_ALWAYS_INLINE void preduxVecResultsVSX | ( | Packet4f(&) | acc[num_acc][2] | ) |
References k, and Eigen::internal::p16uc_TRANSPOSE64_HI.
EIGEN_ALWAYS_INLINE Packet1cd pset1_complex | ( | std::complex< double > & | alpha | ) |
EIGEN_ALWAYS_INLINE Packet2cf pset1_complex | ( | std::complex< float > & | alpha | ) |
set a vector from complex location
References alpha, COMPLEX_DELTA, and ret.
EIGEN_ALWAYS_INLINE Scalar pset1_realimag | ( | ResScalar & | alpha, |
int | which, | ||
int | conj | ||
) |
EIGEN_ALWAYS_INLINE Packet pset_init | ( | Packet & | c1 | ) |
initialize a vector from another vector
References EIGEN_UNUSED_VARIABLE, and GEMV_IS_COMPLEX_COMPLEX.
EIGEN_ALWAYS_INLINE Packet pset_zero | ( | ) |
EIGEN_ALWAYS_INLINE Packet1cd pset_zero< Packet1cd > | ( | ) |
References Eigen::internal::pset1< Packet2d >().
EIGEN_ALWAYS_INLINE Packet2cf pset_zero< Packet2cf > | ( | ) |
References Eigen::internal::pset1< Packet4f >().
EIGEN_ALWAYS_INLINE void pstoreu_pmadd_complex | ( | PResPacket & | c0, |
AlphaData & | b0, | ||
ResScalar * | res | ||
) |
store and madd for complex math
References GEMV_IS_SCALAR, pcplxflipconj(), Eigen::internal::pstoreu(), and res.
EIGEN_ALWAYS_INLINE void pstoreu_pmadd_complex | ( | PResPacket & | c0, |
PResPacket & | c1, | ||
AlphaData & | b0, | ||
ResScalar * | res | ||
) |
References a, GEMV_BUILDPAIR_MMA, GEMV_IS_COMPLEX_FLOAT, pcplxflipconj(), Eigen::internal::pstoreu(), res, and v.
EIGEN_ALWAYS_INLINE void storeBF16fromResult | ( | bfloat16 * | dst, |
Packet8bf | data, | ||
Index | resInc, | ||
Index | extra | ||
) |
References data, MultiOpt::delta, Eigen::internal::pscatter(), Eigen::internal::pscatter_partial(), Eigen::internal::pstoreu(), Eigen::internal::pstoreu_partial(), and size.
EIGEN_ALWAYS_INLINE void storeMaddData | ( | ResScalar * | res, |
ResPacket & | palpha, | ||
ResPacket & | data | ||
) |
EIGEN_ALWAYS_INLINE void storeMaddData | ( | ResScalar * | res, |
ResScalar & | alpha, | ||
ResScalar & | data | ||
) |
EIGEN_ALWAYS_INLINE void vecColLoopVSX | ( | Index | j, |
LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
Packet4f(&) | acc[num_acc][2] | ||
) |
References j, k, Eigen::internal::oneConvertBF16Perm(), p16uc_MERGE16_32_V1, p16uc_MERGE16_32_V2, and zero().
EIGEN_ALWAYS_INLINE void vecVSXLoop | ( | Index | cols, |
const LhsMapper & | lhs, | ||
RhsMapper & | rhs, | ||
Packet4f(&) | acc[num_acc][2], | ||
Index | extra_cols | ||
) |
const Packet16uc p16uc_COMPLEX32_CONJ_XOR |
Referenced by pconj2(), and pcplxflipconj().
const Packet16uc p16uc_COMPLEX32_CONJ_XOR2 |
Referenced by pconjinv(), and pcplxconjflip().
const Packet16uc p16uc_COMPLEX32_NEGATE |
Referenced by pcplxflipnegate(), and pnegate2().
const Packet16uc p16uc_COMPLEX32_XORFLIP |
Referenced by pcplxconjflip(), pcplxflip2(), pcplxflipconj(), and pcplxflipnegate().
const Packet16uc p16uc_COMPLEX64_CONJ_XOR |
Referenced by pconj2(), and pcplxflipconj().
const Packet16uc p16uc_COMPLEX64_CONJ_XOR2 |
Referenced by pconjinv(), and pcplxconjflip().
const Packet16uc p16uc_COMPLEX64_NEGATE |
Referenced by pcplxflipnegate(), and pnegate2().
const Packet16uc p16uc_COMPLEX64_XORFLIP |
Referenced by pcplxconjflip(), pcplxflip2(), pcplxflipconj(), and pcplxflipnegate().
|
static |
Referenced by vecColLoopVSX().
|
static |
Referenced by vecColLoopVSX().
const Packet16uc p16uc_MERGEE |
Referenced by pload_realimag_row().
const Packet16uc p16uc_MERGEO |
Referenced by pload_realimag_row().