11 #ifndef EIGEN_ARCH_CONJ_HELPER_H
12 #define EIGEN_ARCH_CONJ_HELPER_H
14 #define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL) \
16 struct conj_helper<PACKET_REAL, PACKET_CPLX, false, false> { \
17 EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_REAL& x, const PACKET_CPLX& y, const PACKET_CPLX& c) const { \
18 return padd(c, this->pmul(x, y)); \
20 EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_REAL& x, const PACKET_CPLX& y) const { \
21 return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x, y.v)); \
26 struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> { \
27 EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_CPLX& x, const PACKET_REAL& y, const PACKET_CPLX& c) const { \
28 return padd(c, this->pmul(x, y)); \
30 EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_CPLX& x, const PACKET_REAL& y) const { \
31 return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x.v, y)); \
36 #include "../../InternalHeaderCheck.h"
41 template <
bool Conjugate>
70 template <
typename LhsType,
typename RhsType,
bool ConjLhs,
bool ConjRhs>
76 return this->
pmul(x,
y) +
c;
84 template <
typename LhsScalar,
typename RhsScalar>
90 return this->
pmul(x,
y) +
c;
100 template <
typename Packet,
bool ConjLhs,
bool ConjRhs>
112 template <
typename Packet>
AnnoyingScalar conj(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:133
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
Definition: AltiVec/Complex.h:268
const Scalar & y
Definition: RandomImpl.h:36
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition: AltiVec/PacketMath.h:1218
EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf &a, const Packet4cf &b)
Definition: AVX/Complex.h:88
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
int c
Definition: calibrate.py:100
Definition: Eigen_Colamd.h:49
list x
Definition: plotDoE.py:28
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
Definition: XprHelper.h:1043
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmul(const LhsScalar &x, const RhsScalar &y) const
Definition: ConjHelper.h:94
ScalarBinaryOpTraits< LhsScalar, RhsScalar >::ReturnType ResultType
Definition: ConjHelper.h:86
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmadd(const LhsScalar &x, const RhsScalar &y, const ResultType &c) const
Definition: ConjHelper.h:88
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmul(const Packet &x, const Packet &y) const
Definition: ConjHelper.h:107
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmadd(const Packet &x, const Packet &y, const Packet &c) const
Definition: ConjHelper.h:103
Packet ResultType
Definition: ConjHelper.h:102
Packet ResultType
Definition: ConjHelper.h:114
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmul(const Packet &x, const Packet &y) const
Definition: ConjHelper.h:120
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmadd(const Packet &x, const Packet &y, const Packet &c) const
Definition: ConjHelper.h:116
Definition: ConjHelper.h:71
ScalarBinaryOpTraits< LhsType, RhsType >::ReturnType ResultType
Definition: ConjHelper.h:72
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmadd(const LhsType &x, const RhsType &y, const ResultType &c) const
Definition: ConjHelper.h:74
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmul(const LhsType &x, const RhsType &y) const
Definition: ConjHelper.h:79
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & pconj(const T &x) const
Definition: ConjHelper.h:63
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & operator()(const T &x) const
Definition: ConjHelper.h:59
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T pconj(const T &x) const
Definition: ConjHelper.h:51
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T operator()(const T &x) const
Definition: ConjHelper.h:47
Definition: ConjHelper.h:42
Definition: ZVector/PacketMath.h:50