11#ifndef EIGEN_GENERIC_PACKET_MATH_H
12#define EIGEN_GENERIC_PACKET_MATH_H
26#ifndef EIGEN_DEBUG_ALIGNED_LOAD
27#define EIGEN_DEBUG_ALIGNED_LOAD
30#ifndef EIGEN_DEBUG_UNALIGNED_LOAD
31#define EIGEN_DEBUG_UNALIGNED_LOAD
34#ifndef EIGEN_DEBUG_ALIGNED_STORE
35#define EIGEN_DEBUG_ALIGNED_STORE
38#ifndef EIGEN_DEBUG_UNALIGNED_STORE
39#define EIGEN_DEBUG_UNALIGNED_STORE
158template<
typename T,
int unique_
id = 0>
177template<
typename Packet>
186template <
typename SrcPacket,
typename TgtPacket>
191template <
typename SrcPacket,
typename TgtPacket>
196template <
typename SrcPacket,
typename TgtPacket>
201template <
typename SrcPacket,
typename TgtPacket>
209template <
typename Target,
typename Packet>
218padd(
const bool&
a,
const bool&
b) {
return a ||
b; }
240pmul(
const bool&
a,
const bool&
b) {
return a &&
b; }
247template<
typename Packet,
typename EnableIf =
void>
251 memset(
static_cast<void*
>(&
b), 0xff,
sizeof(
Packet));
275template<
typename Packet,
typename EnableIf =
void>
279 memset(
static_cast<void*
>(&
b), 0x00,
sizeof(
Packet));
370 template<
typename Op>
372 const unsigned char*
a_ptr =
reinterpret_cast<const unsigned char*
>(&
a);
374 unsigned char*
c_ptr =
reinterpret_cast<unsigned char*
>(&
c);
375 for (
size_t i = 0;
i <
sizeof(
T); ++
i) {
381 template<
typename Op>
383 const unsigned char* a_ptr =
reinterpret_cast<const unsigned char*
>(&
a);
384 const unsigned char* b_ptr =
reinterpret_cast<const unsigned char*
>(&
b);
386 unsigned char* c_ptr =
reinterpret_cast<unsigned char*
>(&
c);
387 for (
size_t i = 0;
i <
sizeof(
T); ++
i) {
388 *c_ptr++ = op(*a_ptr++, *b_ptr++);
395template<
typename T,
typename EnableIf =
void>
402 is_scalar<T>::value && (NumTraits<T>::IsInteger || NumTraits<T>::RequireInitialization)>::type
434template<
typename Packet,
typename EnableIf =
void>
442template<
typename Packet>
457 const bool&
cond,
const bool&
a,
const bool&
b) {
463template<
int NaNPropagation>
465 template <
typename Packet,
typename Op>
475 template <
typename Packet,
typename Op>
490 template <
typename Packet,
typename Op>
501#ifndef SYCL_DEVICE_ONLY
502#define EIGEN_BINARY_OP_NAN_PROPAGATION(Type, Func) Func
504#define EIGEN_BINARY_OP_NAN_PROPAGATION(Type, Func) \
505[](const Type& a, const Type& b) { \
516template <
int NaNPropagation,
typename Packet>
528template <
int NaNPropagation,
typename Packet>
539pabs(
const unsigned long&
a) {
return a; }
541pabs(
const unsigned long long&
a) {
return a; }
575template <
typename Packet>
610typename enable_if<unpacket_traits<Packet>::masked_load_available,
Packet>::type
688 for(
size_t i = 0;
i <
n; ++
i) {
707template<
typename Scalar,
typename Packet>
709typename enable_if<unpacket_traits<Packet>::masked_store_available,
void>::type
721#if defined(EIGEN_HIP_DEVICE_COMPILE)
723#elif defined(EIGEN_CUDA_ARCH)
724#if defined(__LP64__) || EIGEN_OS_WIN64
726 asm(
" prefetch.L1 [ %1 ];" :
"=l"(
addr) :
"l"(
addr));
729 asm(
" prefetch.L1 [ %1 ];" :
"=r"(
addr) :
"r"(
addr));
731#elif (!EIGEN_COMP_MSVC) && (EIGEN_COMP_GNUC || EIGEN_COMP_CLANG || EIGEN_COMP_ICC)
743 return Packet(numext::imag(
a),numext::real(
a));
842template<
typename Packet>
851template<
typename Packet>
857template <
typename Packet,
typename Op>
864 for(
size_t k =
n / 2; k > 0; k /= 2) {
865 for(
size_t i = 0;
i < k; ++
i) {
873template<
typename Packet>
881template <
typename Packet>
889template <
typename Packet>
896template <
int NaNPropagation,
typename Packet>
904template <
typename Packet>
911template <
int NaNPropagation,
typename Packet>
918#undef EIGEN_BINARY_OP_NAN_PROPAGATION
948template<
typename Packet>
963template<
typename Packet,
int Alignment>
974template<
typename Scalar,
typename Packet,
int Alignment>
988template<
typename Packet,
int LoadMode>
999#if !defined(EIGEN_GPUCC)
1001template<>
inline std::complex<float>
pmul(
const std::complex<float>&
a,
const std::complex<float>&
b)
1002{
return std::complex<float>(
a.real()*
b.real() -
a.imag()*
b.imag(),
a.imag()*
b.real() +
a.real()*
b.imag()); }
1004template<>
inline std::complex<double>
pmul(
const std::complex<double>&
a,
const std::complex<double>&
b)
1005{
return std::complex<double>(
a.real()*
b.real() -
a.imag()*
b.imag(),
a.imag()*
b.real() +
a.real()*
b.imag()); }
EIGEN_DEVICE_FUNC const TanReturnType tan() const
Definition ArrayCwiseUnaryOps.h:269
EIGEN_DEVICE_FUNC const Log10ReturnType log10() const
Definition ArrayCwiseUnaryOps.h:158
EIGEN_DEVICE_FUNC const FloorReturnType floor() const
Definition ArrayCwiseUnaryOps.h:481
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const ArgReturnType arg() const
Definition ArrayCwiseUnaryOps.h:66
EIGEN_DEVICE_FUNC const LogReturnType log() const
Definition ArrayCwiseUnaryOps.h:128
EIGEN_DEVICE_FUNC const AcosReturnType acos() const
Definition ArrayCwiseUnaryOps.h:297
EIGEN_DEVICE_FUNC const CeilReturnType ceil() const
Definition ArrayCwiseUnaryOps.h:495
EIGEN_DEVICE_FUNC const AtanReturnType atan() const
Definition ArrayCwiseUnaryOps.h:283
EIGEN_DEVICE_FUNC const RintReturnType rint() const
Definition ArrayCwiseUnaryOps.h:453
EIGEN_DEVICE_FUNC const RoundReturnType round() const
Definition ArrayCwiseUnaryOps.h:467
ArrayXXi a
Definition Array_initializer_list_23_cxx11.cpp:1
Array< int, Dynamic, 1 > v
Definition Array_initializer_list_vector_cxx11.cpp:1
int n
Definition BiCGSTAB_simple.cpp:1
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define EIGEN_LOG2E
Definition MathFunctions.h:17
#define EIGEN_BINARY_OP_NAN_PROPAGATION(Type, Func)
Definition GenericPacketMath.h:502
#define EIGEN_ALWAYS_INLINE
Definition Macros.h:932
#define EIGEN_USING_STD(FUNC)
Definition Macros.h:1185
#define EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Definition Macros.h:984
#define EIGEN_CONSTEXPR
Definition Macros.h:787
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
Eigen::Triplet< double > T
Definition Tutorial_sparse_example.cpp:6
Scalar Scalar * c
Definition benchVecAdd.cpp:17
Scalar * b
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
@ N
Definition constructor.cpp:23
@ PropagateNaN
Definition Constants.h:343
@ PropagateNumbers
Definition Constants.h:345
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexpm1(const Packet &a)
Definition GenericPacketMath.h:792
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
Definition Complex.h:167
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_min(const Packet &a)
Definition GenericPacketMath.h:890
EIGEN_DEVICE_FUNC TgtPacket pcast(const SrcPacket &a)
Definition GenericPacketMath.h:188
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:215
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE packet_type ploadt(const Eigen::TensorSycl::internal::RangeAccess< cl::sycl::access::mode::read_write, typename unpacket_traits< packet_type >::type > &from)
Definition PacketMath.h:117
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_helper(const Packet &a, Op op)
Definition GenericPacketMath.h:859
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog10(const Packet &a)
Definition GenericPacketMath.h:804
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux(const Packet &a)
Definition GenericPacketMath.h:875
EIGEN_STRONG_INLINE Packet8f pzero(const Packet8f &)
Definition PacketMath.h:247
EIGEN_DEVICE_FUNC Packet parg(const Packet &a)
Definition GenericPacketMath.h:551
EIGEN_STRONG_INLINE Packet16h ploadquad(const Eigen::half *from)
Definition PacketMath.h:1420
EIGEN_DEVICE_FUNC void pbroadcast4(const typename unpacket_traits< Packet >::type *a, Packet &a0, Packet &a1, Packet &a2, Packet &a3)
Definition GenericPacketMath.h:653
EIGEN_STRONG_INLINE void ptranspose(PacketBlock< Packet2cf, 2 > &kernel)
Definition Complex.h:224
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog2(const Packet &a)
Definition GenericPacketMath.h:808
EIGEN_DEVICE_FUNC Packet pset1frombits(BitsType a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog(const Packet &a)
Definition GenericPacketMath.h:796
EIGEN_STRONG_INLINE bool predux_any(const Packet4f &x)
Definition PacketMath.h:1765
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void pstoret(Eigen::TensorSycl::internal::RangeAccess< cl::sycl::access::mode::read_write, typename unpacket_traits< packet_type >::type > to, const packet_type &from)
Definition PacketMath.h:657
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:244
EIGEN_DEVICE_FUNC Packet pgather(const Scalar *from, Index)
Definition GenericPacketMath.h:712
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexp(const Packet &a)
Definition GenericPacketMath.h:788
EIGEN_STRONG_INLINE Packet4i plogical_shift_left(const Packet4i &a)
Definition PacketMath.h:1191
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcos(const Packet &a)
Definition GenericPacketMath.h:756
EIGEN_DEVICE_FUNC void prefetch(const Scalar *addr)
Definition GenericPacketMath.h:719
EIGEN_STRONG_INLINE Packet4f print(const Packet4f &a)
Definition PacketMath.h:3115
EIGEN_DEVICE_FUNC Packet ploadu(const typename unpacket_traits< Packet >::type *from)
Definition GenericPacketMath.h:603
EIGEN_DEVICE_FUNC Packet pmax(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:524
EIGEN_STRONG_INLINE Packet4i pblend(const Selector< 4 > &ifPacket, const Packet4i &thenPacket, const Packet4i &elsePacket)
Definition PacketMath.h:2107
EIGEN_DEVICE_FUNC Packet pnot(const Packet &a)
Definition GenericPacketMath.h:425
EIGEN_STRONG_INLINE Packet4f pcmp_le(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:867
EIGEN_STRONG_INLINE Packet4i plogical_shift_right(const Packet4i &a)
Definition PacketMath.h:1189
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psin(const Packet &a)
Definition GenericPacketMath.h:752
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pacos(const Packet &a)
Definition GenericPacketMath.h:768
EIGEN_DEVICE_FUNC Target preinterpret(const Packet &a)
EIGEN_DEVICE_FUNC bool pselect< bool >(const bool &cond, const bool &a, const bool &b)
Definition GenericPacketMath.h:456
EIGEN_STRONG_INLINE Packet8h por(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1042
EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf &a)
Definition Complex.h:184
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptan(const Packet &a)
Definition GenericPacketMath.h:760
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_mul(const Packet &a)
Definition GenericPacketMath.h:882
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition PacketMath.h:827
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:237
EIGEN_STRONG_INLINE Packet8h ptrue(const Packet8h &a)
Definition PacketMath.h:978
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:512
EIGEN_STRONG_INLINE Packet1cd pcplxflip(const Packet1cd &x)
Definition Complex.h:620
EIGEN_STRONG_INLINE Packet8h pandnot(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1053
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcosh(const Packet &a)
Definition GenericPacketMath.h:780
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pround(const Packet &a)
Definition GenericPacketMath.h:826
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
Definition Complex.h:166
EIGEN_STRONG_INLINE Packet4f pcmp_lt(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:868
EIGEN_STRONG_INLINE Packet4f pselect(const Packet4f &mask, const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:917
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptanh(const Packet &a)
Definition GenericPacketMath.h:784
EIGEN_STRONG_INLINE Packet4i parithmetic_shift_right(const Packet4i &a)
Definition PacketMath.h:1187
EIGEN_DEVICE_FUNC Packet paddsub(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:545
EIGEN_DEVICE_FUNC void pscatter(Scalar *to, const Packet &from, Index)
Definition GenericPacketMath.h:715
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE packet_type ploadt_ro(const Eigen::TensorSycl::internal::RangeAccess< cl::sycl::access::mode::read_write, T > &from)
Definition PacketMath.h:53
EIGEN_DEVICE_FUNC Packet pabsdiff(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:595
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_max(const Packet &a)
Definition GenericPacketMath.h:905
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pceil(const Packet &a)
Definition GenericPacketMath.h:839
EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f &a)
Definition PacketMath.h:1176
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog1p(const Packet &a)
Definition GenericPacketMath.h:800
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet ploaddup(const typename unpacket_traits< Packet >::type *from)
Definition GenericPacketMath.h:631
EIGEN_STRONG_INLINE Packet8f peven_mask(const Packet8f &)
Definition PacketMath.h:252
EIGEN_STRONG_INLINE bfloat16 pfirst(const Packet8bf &a)
Definition PacketMath.h:1429
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
Definition GenericPacketMath.h:696
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet4c predux_half_dowto4(const Packet8c &a)
Definition PacketMath.h:2478
EIGEN_STRONG_INLINE Packet4f psqrt(const Packet4f &a)
Definition PacketMath.h:723
EIGEN_STRONG_INLINE Packet2cf pcmp_eq(const Packet2cf &a, const Packet2cf &b)
Definition Complex.h:231
EIGEN_STRONG_INLINE Packet8h pldexp(const Packet8h &a, const Packet8h &exponent)
Definition MathFunctions.h:196
EIGEN_DEVICE_FUNC void pstoreu(Scalar *to, const Packet &from)
Definition GenericPacketMath.h:700
EIGEN_STRONG_INLINE Packet8h pand(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1050
EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h &a, const Packet8h &b)
Definition PacketMath.h:1047
EIGEN_DEVICE_FUNC void pbroadcast2(const typename unpacket_traits< Packet >::type *a, Packet &a0, Packet &a1)
Definition GenericPacketMath.h:670
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psinh(const Packet &a)
Definition GenericPacketMath.h:776
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pasin(const Packet &a)
Definition GenericPacketMath.h:764
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:222
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet plset(const typename unpacket_traits< Packet >::type &a)
Definition GenericPacketMath.h:679
EIGEN_STRONG_INLINE Packet8h pfrexp(const Packet8h &a, Packet8h &exponent)
Definition MathFunctions.h:188
EIGEN_DEVICE_FUNC Packet pload1(const typename unpacket_traits< Packet >::type *a)
Definition GenericPacketMath.h:623
void pstore1(typename unpacket_traits< Packet >::type *to, const typename unpacket_traits< Packet >::type &a)
Definition GenericPacketMath.h:949
EIGEN_DEVICE_FUNC Packet pload(const typename unpacket_traits< Packet >::type *from)
Definition GenericPacketMath.h:599
EIGEN_STRONG_INLINE Packet4f prsqrt(const Packet4f &a)
Definition PacketMath.h:730
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patan(const Packet &a)
Definition GenericPacketMath.h:772
EIGEN_STRONG_INLINE Packet4f pcmp_lt_or_nan(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:870
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pfloor(const Packet &a)
Definition GenericPacketMath.h:830
EIGEN_DEVICE_FUNC Packet pset1(const typename unpacket_traits< Packet >::type &a)
Definition GenericPacketMath.h:615
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool equal_strict(const X &x, const Y &y)
Definition Meta.h:787
EIGEN_DEVICE_FUNC T() floor(const T &x)
Definition MathFunctions.h:1400
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T maxi(const T &x, const T &y)
Definition MathFunctions.h:1091
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool not_equal_strict(const X &x, const Y &y)
Definition Meta.h:798
EIGEN_DEVICE_FUNC T() ceil(const T &x)
Definition MathFunctions.h:1420
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE float sqrt(const float &x)
Definition MathFunctions.h:177
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T mini(const T &x, const T &y)
Definition MathFunctions.h:1083
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE internal::enable_if< NumTraits< T >::IsSigned||NumTraits< T >::IsComplex, typenameNumTraits< T >::Real >::type abs(const T &x)
Definition MathFunctions.h:1509
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
Definition BandTriangularSolver.h:13
Definition GenericPacketMath.h:1014
Packet packet[N]
Definition GenericPacketMath.h:1015
Definition GenericPacketMath.h:1027
bool select[N]
Definition GenericPacketMath.h:1028
Definition GenericPacketMath.h:317
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a, const T &b) const
Definition GenericPacketMath.h:318
Definition GenericPacketMath.h:338
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a) const
Definition GenericPacketMath.h:339
Definition GenericPacketMath.h:324
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a, const T &b) const
Definition GenericPacketMath.h:325
Definition GenericPacketMath.h:331
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a, const T &b) const
Definition GenericPacketMath.h:332
Definition GenericPacketMath.h:396
Definition GenericPacketMath.h:355
static EIGEN_DEVICE_FUNC T bitwise_xor(const T &a, const T &b)
Definition GenericPacketMath.h:362
static EIGEN_DEVICE_FUNC T bitwise_not(const T &a)
Definition GenericPacketMath.h:365
static EIGEN_DEVICE_FUNC T bitwise_and(const T &a, const T &b)
Definition GenericPacketMath.h:356
static EIGEN_DEVICE_FUNC T bitwise_or(const T &a, const T &b)
Definition GenericPacketMath.h:359
Definition GenericPacketMath.h:43
@ HasSign
Definition GenericPacketMath.h:102
@ HasZeta
Definition GenericPacketMath.h:86
@ HasASin
Definition GenericPacketMath.h:78
@ HasIGamma
Definition GenericPacketMath.h:92
@ HasSub
Definition GenericPacketMath.h:48
@ HasRsqrt
Definition GenericPacketMath.h:67
@ HasSin
Definition GenericPacketMath.h:75
@ HasBlend
Definition GenericPacketMath.h:60
@ HasLog10
Definition GenericPacketMath.h:72
@ HasTan
Definition GenericPacketMath.h:77
@ HasErfc
Definition GenericPacketMath.h:89
@ HasACos
Definition GenericPacketMath.h:79
@ HasAbsDiff
Definition GenericPacketMath.h:55
@ HasMin
Definition GenericPacketMath.h:56
@ HasArg
Definition GenericPacketMath.h:53
@ HasNdtri
Definition GenericPacketMath.h:90
@ HasCos
Definition GenericPacketMath.h:76
@ HasSinh
Definition GenericPacketMath.h:81
@ HasPolygamma
Definition GenericPacketMath.h:87
@ HasCmp
Definition GenericPacketMath.h:63
@ HasDiGamma
Definition GenericPacketMath.h:85
@ HasConj
Definition GenericPacketMath.h:58
@ HasSetLinear
Definition GenericPacketMath.h:59
@ HasShift
Definition GenericPacketMath.h:49
@ HasLog1p
Definition GenericPacketMath.h:71
@ HasMax
Definition GenericPacketMath.h:57
@ HasPow
Definition GenericPacketMath.h:73
@ HasIGammac
Definition GenericPacketMath.h:95
@ HasCeil
Definition GenericPacketMath.h:101
@ HasNegate
Definition GenericPacketMath.h:51
@ HasAdd
Definition GenericPacketMath.h:47
@ HasExp
Definition GenericPacketMath.h:68
@ HasRound
Definition GenericPacketMath.h:98
@ HasRint
Definition GenericPacketMath.h:99
@ HasBetaInc
Definition GenericPacketMath.h:96
@ HasSqrt
Definition GenericPacketMath.h:66
@ HasLGamma
Definition GenericPacketMath.h:84
@ HasErf
Definition GenericPacketMath.h:88
@ HasBessel
Definition GenericPacketMath.h:91
@ HasAbs
Definition GenericPacketMath.h:52
@ HasCosh
Definition GenericPacketMath.h:82
@ HasExpm1
Definition GenericPacketMath.h:69
@ HasLog
Definition GenericPacketMath.h:70
@ HasTanh
Definition GenericPacketMath.h:83
@ HasMul
Definition GenericPacketMath.h:50
@ HasAbs2
Definition GenericPacketMath.h:54
@ HasGammaSampleDerAlpha
Definition GenericPacketMath.h:94
@ HasIGammaDerA
Definition GenericPacketMath.h:93
@ HasATan
Definition GenericPacketMath.h:80
@ HasFloor
Definition GenericPacketMath.h:100
@ HasHalfPacket
Definition GenericPacketMath.h:45
@ HasDiv
Definition GenericPacketMath.h:65
Definition GenericPacketMath.h:160
EIGEN_ALWAYS_INLINE eigen_packet_wrapper & operator=(const T &v)
Definition GenericPacketMath.h:165
EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v)
Definition GenericPacketMath.h:164
EIGEN_ALWAYS_INLINE eigen_packet_wrapper()
Definition GenericPacketMath.h:163
T m_val
Definition GenericPacketMath.h:170
Definition GenericPacketMath.h:178
@ value
Definition GenericPacketMath.h:181
unpacket_traits< Packet >::type Scalar
Definition GenericPacketMath.h:179
Definition GenericPacketMath.h:346
static EIGEN_DEVICE_FUNC T bitwise_not(const T &a)
Definition GenericPacketMath.h:350
static EIGEN_DEVICE_FUNC T bitwise_xor(const T &a, const T &b)
Definition GenericPacketMath.h:349
static EIGEN_DEVICE_FUNC T bitwise_and(const T &a, const T &b)
Definition GenericPacketMath.h:347
static EIGEN_DEVICE_FUNC T bitwise_or(const T &a, const T &b)
Definition GenericPacketMath.h:348
Definition GenericPacketMath.h:107
@ HasSub
Definition GenericPacketMath.h:118
@ HasMax
Definition GenericPacketMath.h:124
@ HasNegate
Definition GenericPacketMath.h:120
@ HasMul
Definition GenericPacketMath.h:119
@ HasAdd
Definition GenericPacketMath.h:117
@ HasSetLinear
Definition GenericPacketMath.h:126
@ HasMin
Definition GenericPacketMath.h:123
@ HasConj
Definition GenericPacketMath.h:125
@ HasAbs2
Definition GenericPacketMath.h:122
@ HasAbs
Definition GenericPacketMath.h:121
T type
Definition GenericPacketMath.h:108
T half
Definition GenericPacketMath.h:109
@ HasHalfPacket
Definition GenericPacketMath.h:114
@ size
Definition GenericPacketMath.h:112
@ AlignedOnScalar
Definition GenericPacketMath.h:113
@ Vectorizable
Definition GenericPacketMath.h:111
static EIGEN_DEVICE_FUNC Packet run(const Packet &a, const Packet &b, Op op)
Definition GenericPacketMath.h:476
static EIGEN_DEVICE_FUNC Packet run(const Packet &a, const Packet &b, Op op)
Definition GenericPacketMath.h:491
Definition GenericPacketMath.h:464
static EIGEN_DEVICE_FUNC Packet run(const Packet &a, const Packet &b, Op op)
Definition GenericPacketMath.h:466
static EIGEN_DEVICE_FUNC Packet run(const Packet &mask, const Packet &a, const Packet &b)
Definition GenericPacketMath.h:445
Definition GenericPacketMath.h:435
static EIGEN_DEVICE_FUNC Packet run(const Packet &mask, const Packet &a, const Packet &b)
Definition GenericPacketMath.h:436
static EIGEN_DEVICE_FUNC T run(const T &)
Definition GenericPacketMath.h:263
Definition GenericPacketMath.h:248
static EIGEN_DEVICE_FUNC Packet run(const Packet &)
Definition GenericPacketMath.h:249
static EIGEN_DEVICE_FUNC T run(const T &)
Definition GenericPacketMath.h:289
Definition GenericPacketMath.h:276
static EIGEN_DEVICE_FUNC Packet run(const Packet &)
Definition GenericPacketMath.h:277
Definition ForwardDeclarations.h:17
Definition GenericPacketMath.h:148
@ TgtCoeffRatio
Definition GenericPacketMath.h:152
@ VectorizedCast
Definition GenericPacketMath.h:150
@ SrcCoeffRatio
Definition GenericPacketMath.h:151
Definition GenericPacketMath.h:133
T type
Definition GenericPacketMath.h:134
T half
Definition GenericPacketMath.h:135
@ masked_load_available
Definition GenericPacketMath.h:141
@ size
Definition GenericPacketMath.h:138
@ masked_store_available
Definition GenericPacketMath.h:142
@ vectorizable
Definition GenericPacketMath.h:140
@ alignment
Definition GenericPacketMath.h:139
Definition PacketMath.h:47