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, \ 18 const PACKET_CPLX& y, \ 19 const PACKET_CPLX& c) const { \ 20 return padd(c, this->pmul(x, y)); \ 22 EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_REAL& x, \ 23 const PACKET_CPLX& y) const { \ 24 return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x, y.v)); \ 29 struct conj_helper<PACKET_CPLX, PACKET_REAL, false, false> { \ 30 EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_CPLX& x, \ 31 const PACKET_REAL& y, \ 32 const PACKET_CPLX& c) const { \ 33 return padd(c, this->pmul(x, y)); \ 35 EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_CPLX& x, \ 36 const PACKET_REAL& y) const { \ 37 return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x.v, y)); \ 62 template<
typename LhsType,
typename RhsType,
bool ConjLhs,
bool ConjRhs>
67 pmadd(
const LhsType&
x,
const RhsType&
y,
const ResultType&
c)
const 68 {
return this->
pmul(x, y) +
c; }
71 pmul(
const LhsType&
x,
const RhsType&
y)
const 75 template<
typename LhsScalar,
typename RhsScalar>
80 pmadd(
const LhsScalar&
x,
const RhsScalar&
y,
const ResultType&
c)
const 81 {
return this->
pmul(x, y) +
c; }
85 pmul(
const LhsScalar&
x,
const RhsScalar&
y)
const 90 template<
typename Packet,
bool ConjLhs,
bool ConjRhs>
102 template<
typename Packet>
117 #endif // EIGEN_ARCH_CONJ_HELPER_H #define EIGEN_STRONG_INLINE
ScalarBinaryOpTraits< LhsType, RhsType >::ReturnType ResultType
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmadd(const LhsType &x, const RhsType &y, const ResultType &c) const
Namespace containing all symbols from the Eigen library.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmul(const LhsScalar &x, const RhsScalar &y) const
AnnoyingScalar conj(const AnnoyingScalar &x)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T operator()(const T &x) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmul(const Packet &x, const Packet &y) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmul(const Packet &x, const Packet &y) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmadd(const Packet &x, const Packet &y, const Packet &c) const
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet pmadd(const Packet &x, const Packet &y, const Packet &c) const
#define EIGEN_DEVICE_FUNC
ScalarBinaryOpTraits< LhsScalar, RhsScalar >::ReturnType ResultType
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmadd(const LhsScalar &x, const RhsScalar &y, const ResultType &c) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ResultType pmul(const LhsType &x, const RhsType &y) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T pconj(const T &x) const
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & operator()(const T &x) const
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T & pconj(const T &x) const