11 #ifndef EIGEN_GENERIC_PACKET_MATH_H
12 #define EIGEN_GENERIC_PACKET_MATH_H
29 #ifndef EIGEN_DEBUG_ALIGNED_LOAD
30 #define EIGEN_DEBUG_ALIGNED_LOAD
33 #ifndef EIGEN_DEBUG_UNALIGNED_LOAD
34 #define EIGEN_DEBUG_UNALIGNED_LOAD
37 #ifndef EIGEN_DEBUG_ALIGNED_STORE
38 #define EIGEN_DEBUG_ALIGNED_STORE
41 #ifndef EIGEN_DEBUG_UNALIGNED_STORE
42 #define EIGEN_DEBUG_UNALIGNED_STORE
107 template <
typename T>
130 template <
typename T>
133 template <
typename T>
147 template <
typename T>
153 template <
typename Packet>
163 template <
typename SrcPacket,
typename TgtPacket,
175 template <
typename SrcPacket,
typename TgtPacket>
185 template <
typename SrcPacket,
typename TgtPacket>
191 template <
typename Packet>
200 template <
typename Src,
typename Tgt>
211 template <
typename Src,
typename Tgt>
224 template <
typename T,
int unique_
id = 0>
241 template <
typename Target,
typename Packet>
245 return numext::bit_cast<Target, Packet>(
a);
249 template <
typename Packet>
256 template <
typename Target,
typename Packet>
265 template <
typename SrcPacket,
typename TgtPacket>
273 template <
typename Packet>
279 template <
typename SrcPacket,
typename TgtPacket,
bool TgtIsHalf>
286 template <
typename SrcPacket,
typename TgtPacket>
290 template <
typename SrcPacket,
typename TgtPacket>
294 template <
typename SrcPacket,
typename TgtPacket>
296 const SrcPacket& d) {
299 template <
typename SrcPacket,
typename TgtPacket>
301 const SrcPacket&
e,
const SrcPacket&
f,
const SrcPacket& g,
302 const SrcPacket& h) {
306 template <
typename SrcPacket,
typename TgtPacket>
312 return preinterpret<TgtPacket>(pcast<SrcPacket, DefaultTgtPacket>(
a));
317 template <
typename Packet>
331 template <
typename Packet>
336 template <
typename Packet>
342 template <
typename Packet>
345 NEGATE IS NOT DEFINED FOR BOOLEAN TYPES)
350 template <
typename Packet>
356 template <
typename Packet>
367 template <
typename Packet>
373 template <
typename Packet,
typename EnableIf =
void>
377 memset(
static_cast<void*
>(&
b), 0xff,
sizeof(
Packet));
392 template <
typename T>
393 struct ptrue_impl<
T, std::enable_if_t<is_scalar<T>::value && NumTraits<T>::RequireInitialization>> {
398 template <
typename Packet>
404 template <
typename Packet,
typename EnableIf =
void>
408 memset(
static_cast<void*
>(&
b), 0x00,
sizeof(
Packet));
415 template <
typename T>
421 template <
typename Packet>
427 template <
typename Packet>
433 template <
typename Packet>
439 template <
typename Packet>
445 template <
typename Packet>
450 template <
typename T>
455 template <
typename T>
460 template <
typename T>
465 template <
typename T>
497 template <
typename T>
506 template <
typename T>
518 template <
typename Op>
520 const unsigned char* a_ptr =
reinterpret_cast<const unsigned char*
>(&
a);
522 unsigned char* c_ptr =
reinterpret_cast<unsigned char*
>(&
c);
523 for (
size_t i = 0;
i <
sizeof(
T); ++
i) {
524 *c_ptr++ =
op(*a_ptr++);
529 template <
typename Op>
531 const unsigned char* a_ptr =
reinterpret_cast<const unsigned char*
>(&
a);
532 const unsigned char* b_ptr =
reinterpret_cast<const unsigned char*
>(&
b);
534 unsigned char* c_ptr =
reinterpret_cast<unsigned char*
>(&
c);
535 for (
size_t i = 0;
i <
sizeof(
T); ++
i) {
536 *c_ptr++ =
op(*a_ptr++, *b_ptr++);
543 template <
typename T,
typename EnableIf =
void>
547 template <
typename T>
549 (NumTraits<T>::IsInteger || NumTraits<T>::RequireInitialization)>>
553 template <
typename Packet>
559 template <
typename Packet>
565 template <
typename Packet>
571 template <
typename Packet>
577 template <
typename Packet>
583 template <
typename Packet,
typename EnableIf =
void>
591 template <
typename Packet>
599 template <
typename Packet>
611 template <
int NaNPropagation>
613 template <
typename Packet,
typename Op>
623 template <
typename Packet,
typename Op>
636 template <
typename Packet,
typename Op>
644 #define EIGEN_BINARY_OP_NAN_PROPAGATION(Type, Func) [](const Type& a, const Type& b) { return Func(a, b); }
648 template <
typename Packet>
655 template <
int NaNPropagation,
typename Packet>
662 template <
typename Packet>
669 template <
int NaNPropagation,
typename Packet>
675 template <
typename Packet>
693 template <
typename Packet>
699 template <
typename Packet>
706 template <
int N,
typename T>
712 template <
int N,
typename T>
718 template <
int N,
typename T>
726 template <
typename Packet>
738 template <
typename Packet>
741 return static_cast<Packet>(ldexp(
a,
static_cast<int>(exponent)));
745 template <
typename Packet>
751 template <
typename Packet>
760 template <
typename Packet>
762 const Index offset = 0) {
764 eigen_assert(
n + offset <= packet_size &&
"number of elements plus offset will read past end of packet");
768 elements[
i] = from[
i - offset];
770 return pload<Packet>(elements);
774 template <
typename Packet>
781 template <
typename Packet>
783 const Index offset = 0) {
785 eigen_assert(
n + offset <= packet_size &&
"number of elements plus offset will read past end of packet");
789 elements[
i] = from[
i - offset];
791 return pload<Packet>(elements);
798 template <
typename Packet>
803 template <
typename Packet>
809 template <
typename Packet,
typename BitsType>
813 template <
typename Packet>
815 return pset1<Packet>(*
a);
823 template <
typename Packet>
834 template <
typename Packet>
836 return pload1<Packet>(from);
848 template <
typename Packet>
851 a0 = pload1<Packet>(
a + 0);
852 a1 = pload1<Packet>(
a + 1);
853 a2 = pload1<Packet>(
a + 2);
854 a3 = pload1<Packet>(
a + 3);
864 template <
typename Packet>
866 a0 = pload1<Packet>(
a + 0);
867 a1 = pload1<Packet>(
a + 1);
871 template <
typename Packet>
878 template <
typename Packet>
883 for (
size_t i = 0;
i <
n; ++
i) {
884 memset(elements +
i, ((
i & 1) == 0 ? 0xff : 0),
sizeof(
Scalar));
886 return ploadu<Packet>(elements);
890 template <
typename Scalar,
typename Packet>
898 template <
typename Scalar,
typename Packet>
901 eigen_assert(
n + offset <= packet_size &&
"number of elements plus offset will write past end of packet");
903 pstore<Scalar>(elements, from);
905 to[
i] = elements[
i + offset];
910 template <
typename Scalar,
typename Packet>
916 template <
typename Scalar,
typename Packet>
919 eigen_assert(
n + offset <= packet_size &&
"number of elements plus offset will write past end of packet");
921 pstore<Scalar>(elements, from);
923 to[
i] = elements[
i + offset];
931 template <
typename Scalar,
typename Packet>
935 template <
typename Scalar,
typename Packet>
937 return ploadu<Packet>(from);
940 template <
typename Scalar,
typename Packet>
945 elements[
i] = from[
i * stride];
947 return pload<Packet>(elements);
950 template <
typename Scalar,
typename Packet>
955 template <
typename Scalar,
typename Packet>
959 pstore<Scalar>(elements, from);
961 to[
i * stride] = elements[
i];
966 template <
typename Scalar>
968 #if defined(EIGEN_HIP_DEVICE_COMPILE)
970 #elif defined(EIGEN_CUDA_ARCH)
971 #if defined(__LP64__) || EIGEN_OS_WIN64
973 asm(
" prefetch.L1 [ %1 ];" :
"=l"(addr) :
"l"(addr));
976 asm(
" prefetch.L1 [ %1 ];" :
"=r"(addr) :
"r"(addr));
978 #elif (!EIGEN_COMP_MSVC) && (EIGEN_COMP_GNUC || EIGEN_COMP_CLANG || EIGEN_COMP_ICC)
979 __builtin_prefetch(addr);
984 template <
typename Packet>
990 template <
typename Packet>
1000 template <
typename Packet>
1006 template <
typename Packet>
1014 template <
typename Packet>
1021 template <
typename Packet>
1028 template <
typename Packet>
1035 template <
typename Packet>
1042 template <
typename Packet>
1049 template <
typename Packet>
1056 template <
typename Packet>
1063 template <
typename Packet>
1070 template <
typename Packet>
1077 template <
typename Packet>
1084 template <
typename Packet>
1090 template <
typename Packet>
1096 template <
typename Packet>
1102 template <
typename Packet>
1109 template <
typename Packet>
1115 template <
typename Packet>
1122 template <
typename Packet>
1130 template <
typename Packet>
1136 template <
typename Packet>
1152 template <
typename Packet>
1158 template <
typename Packet>
1165 template <
typename Packet>
1171 template <
typename Packet>
1177 template <
typename Packet>
1182 template <
typename Packet,
typename EnableIf =
void>
1188 template <
typename Packet>
1199 template <
typename Packet>
1208 template <
typename Packet>
1216 template <
typename Packet,
typename Op>
1221 pstoreu<Scalar>(elements,
a);
1222 for (
size_t k =
n / 2;
k > 0;
k /= 2) {
1223 for (
size_t i = 0;
i <
k; ++
i) {
1224 elements[
i] =
op(elements[
i], elements[
i +
k]);
1231 template <
typename Packet>
1237 template <
typename Packet>
1244 template <
typename Packet>
1250 template <
int NaNPropagation,
typename Packet>
1257 template <
typename Packet>
1263 template <
int NaNPropagation,
typename Packet>
1269 #undef EIGEN_BINARY_OP_NAN_PROPAGATION
1281 template <
typename Packet>
1299 template <
typename Packet>
1305 template <
typename Packet>
1311 template <
typename Packet>
1317 template <
typename Packet>
1326 template <
typename Packet>
1333 template <
typename Packet,
int Alignment>
1336 return pload<Packet>(from);
1338 return ploadu<Packet>(from);
1343 template <
typename Packet,
int Alignment>
1347 return pload_partial<Packet>(from,
n, offset);
1349 return ploadu_partial<Packet>(from,
n, offset);
1354 template <
typename Scalar,
typename Packet,
int Alignment>
1364 template <
typename Scalar,
typename Packet,
int Alignment>
1366 const Index offset = 0) {
1378 template <
typename Packet,
int LoadMode>
1380 return ploadt<Packet, LoadMode>(from);
1388 #if !defined(EIGEN_GPUCC)
1391 inline std::complex<float>
pmul(
const std::complex<float>&
a,
const std::complex<float>&
b) {
1392 return std::complex<float>(
a.real() *
b.real() -
a.imag() *
b.imag(),
a.imag() *
b.real() +
a.real() *
b.imag());
1396 inline std::complex<double>
pmul(
const std::complex<double>&
a,
const std::complex<double>&
b) {
1397 return std::complex<double>(
a.real() *
b.real() -
a.imag() *
b.imag(),
a.imag() *
b.real() +
a.real() *
b.imag());
1411 template <
typename Packet>
1425 template <
typename Packet>
1428 return ifPacket.select[0] ? thenPacket : elsePacket;
1432 template <
typename Packet>
1439 template <
typename Packet>
1441 return preciprocal<Packet>(
psqrt(
a));
1447 template <
typename Packet,
bool IsInteger>
1451 template <
typename Packet>
1462 template <
typename Packet>
1468 template <
typename Packet>
1495 const Packet result_signmask =
pxor(y_signmask, x_signmask);
1496 const Packet shift =
por(
pand(x_has_signbit, kPi), y_signmask);
1502 arg =
pselect(x_and_y_are_same,
por(kOne, result_signmask), arg);
1503 arg =
pselect(x_and_y_are_zero, result_signmask, arg);
1506 result =
padd(result, shift);
1513 return Packet(numext::arg(
a));
1520 THIS METHOD IS FOR COMPLEX TYPES ONLY)
1521 using RealPacket =
typename unpacket_traits<Packet>::as_real;
1524 RealPacket result =
patan2(aflip,
a.v);
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar acos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:138
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
AnnoyingScalar conj(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:133
AnnoyingScalar imag(const AnnoyingScalar &)
Definition: AnnoyingScalar.h:132
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11
#define EIGEN_BINARY_OP_NAN_PROPAGATION(Type, Func)
Definition: GenericPacketMath.h:644
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:845
#define EIGEN_USING_STD(FUNC)
Definition: Macros.h:1090
#define EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
Definition: Macros.h:899
#define EIGEN_CONSTEXPR
Definition: Macros.h:758
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define eigen_assert(x)
Definition: Macros.h:910
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
#define EIGEN_LOG2E
Definition: MathFunctions.h:17
#define EIGEN_PI
Definition: MathFunctions.h:16
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
Scalar * b
Definition: benchVecAdd.cpp:17
SCALAR Scalar
Definition: bench_gemm.cpp:45
NumTraits< Scalar >::Real RealScalar
Definition: bench_gemm.cpp:46
internal::packet_traits< Scalar >::type Packet
Definition: benchmark-blocking-sizes.cpp:54
@ IsComplex
Definition: common.h:73
@ N
Definition: constructor.cpp:22
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
float real
Definition: datatypes.h:10
@ PropagateNaN
Definition: Constants.h:342
@ PropagateNumbers
Definition: Constants.h:344
const Scalar * a
Definition: level2_cplx_impl.h:32
char char char int int * k
Definition: level2_impl.h:374
char char * op
Definition: level2_impl.h:374
@ Target
Definition: Constants.h:495
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 tanh(const bfloat16 &a)
Definition: BFloat16.h:639
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 cosh(const bfloat16 &a)
Definition: BFloat16.h:638
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atanh(const bfloat16 &a)
Definition: BFloat16.h:642
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 asin(const bfloat16 &a)
Definition: BFloat16.h:634
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log10(const bfloat16 &a)
Definition: BFloat16.h:620
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atan(const bfloat16 &a)
Definition: BFloat16.h:636
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp(const bfloat16 &a)
Definition: BFloat16.h:615
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 expm1(const bfloat16 &a)
Definition: BFloat16.h:617
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log(const bfloat16 &a)
Definition: BFloat16.h:618
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 sinh(const bfloat16 &a)
Definition: BFloat16.h:637
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 tan(const bfloat16 &a)
Definition: BFloat16.h:633
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log1p(const bfloat16 &a)
Definition: BFloat16.h:619
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexpm1(const Packet &a)
Definition: GenericPacketMath.h:1097
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
Definition: AltiVec/Complex.h:268
EIGEN_DEVICE_FUNC TgtPacket pcast(const SrcPacket &a)
Definition: GenericPacketMath.h:287
EIGEN_DEVICE_FUNC void pstore_partial(Scalar *to, const Packet &from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:899
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:318
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog10(const Packet &a)
Definition: GenericPacketMath.h:1116
EIGEN_STRONG_INLINE Packet8f pzero(const Packet8f &)
Definition: AVX/PacketMath.h:774
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet ptrunc(const Packet &a)
Definition: GenericPacketMath.h:1178
EIGEN_STRONG_INLINE Packet8f pisnan(const Packet8f &a)
Definition: AVX/PacketMath.h:1034
EIGEN_DEVICE_FUNC Packet parg(const Packet &a)
Definition: GenericPacketMath.h:700
constexpr int plain_enum_max(A a, B b)
Definition: Meta.h:656
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet print(const Packet &a)
Definition: GenericPacketMath.h:1166
EIGEN_STRONG_INLINE Packet16h ploadquad(const Eigen::half *from)
Definition: AVX512/PacketMath.h:2250
EIGEN_DEVICE_FUNC Packet pload_partial(const typename unpacket_traits< Packet >::type *from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:761
EIGEN_DEVICE_FUNC void pbroadcast4(const typename unpacket_traits< Packet >::type *a, Packet &a0, Packet &a1, Packet &a2, Packet &a3)
Definition: GenericPacketMath.h:849
EIGEN_STRONG_INLINE void ptranspose(PacketBlock< Packet2cf, 2 > &kernel)
Definition: AltiVec/Complex.h:339
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog2(const Packet &a)
Definition: GenericPacketMath.h:1123
const Scalar & y
Definition: RandomImpl.h:36
EIGEN_DEVICE_FUNC Packet pset1frombits(BitsType a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog(const Packet &a)
Definition: GenericPacketMath.h:1103
EIGEN_STRONG_INLINE bool predux_any(const Packet4f &x)
Definition: AltiVec/PacketMath.h:2751
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcbrt(const Packet &a)
Definition: GenericPacketMath.h:1137
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_helper(const Packet &a, Op op)
Definition: GenericPacketMath.h:1217
EIGEN_DEVICE_FUNC Packet pgather_partial(const Scalar *from, Index stride, const Index n)
Definition: GenericPacketMath.h:941
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:368
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_max(const Packet &a)
Definition: GenericPacketMath.h:1258
EIGEN_STRONG_INLINE Packet4i plogical_shift_left(const Packet4i &a)
Definition: AltiVec/PacketMath.h:1983
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcos(const Packet &a)
Definition: GenericPacketMath.h:1022
EIGEN_DEVICE_FUNC void prefetch(const Scalar *addr)
Definition: GenericPacketMath.h:967
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet patan2(const Packet &y, const Packet &x)
Definition: GenericPacketMath.h:1475
EIGEN_DEVICE_FUNC Packet ploadu(const typename unpacket_traits< Packet >::type *from)
Definition: GenericPacketMath.h:775
EIGEN_DEVICE_FUNC Packet pmax(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:663
EIGEN_STRONG_INLINE Packet4i pblend(const Selector< 4 > &ifPacket, const Packet4i &thenPacket, const Packet4i &elsePacket)
Definition: AltiVec/PacketMath.h:3075
EIGEN_DEVICE_FUNC Packet pnot(const Packet &a)
Definition: GenericPacketMath.h:572
EIGEN_STRONG_INLINE Packet4f pcmp_le(const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1314
EIGEN_STRONG_INLINE Packet4i plogical_shift_right(const Packet4i &a)
Definition: AltiVec/PacketMath.h:1979
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet pcarg(const Packet &a)
Definition: GenericPacketMath.h:1512
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psin(const Packet &a)
Definition: GenericPacketMath.h:1015
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pacos(const Packet &a)
Definition: GenericPacketMath.h:1043
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_min(const Packet &a)
Definition: GenericPacketMath.h:1245
EIGEN_DEVICE_FUNC Target preinterpret(const Packet &a)
Definition: GenericPacketMath.h:257
EIGEN_DEVICE_FUNC bool pselect< bool >(const bool &cond, const bool &a, const bool &b)
Definition: GenericPacketMath.h:605
EIGEN_STRONG_INLINE Packet8h por(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2309
EIGEN_STRONG_INLINE Packet4i pcmp_lt(const Packet4i &a, const Packet4i &b)
Definition: AltiVec/PacketMath.h:1341
EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf &a)
Definition: AltiVec/Complex.h:303
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptan(const Packet &a)
Definition: GenericPacketMath.h:1029
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition: AltiVec/PacketMath.h:1218
EIGEN_STRONG_INLINE Packet2cf pcplxflip(const Packet2cf &x)
Definition: LSX/Complex.h:218
EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf &a, const Packet4cf &b)
Definition: AVX/Complex.h:88
EIGEN_DEVICE_FUNC Packet preciprocal(const Packet &a)
Definition: GenericPacketMath.h:1433
EIGEN_STRONG_INLINE Packet8h ptrue(const Packet8h &a)
Definition: AVX/PacketMath.h:2263
EIGEN_DEVICE_FUNC Packet pgather(const Packet &src, const Scalar *from, Index stride, typename unpacket_traits< Packet >::mask_t umask)
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:649
EIGEN_STRONG_INLINE Packet8h pandnot(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2323
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcosh(const Packet &a)
Definition: GenericPacketMath.h:1057
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
Definition: AltiVec/Complex.h:264
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptanh(const Packet &a)
Definition: GenericPacketMath.h:1071
EIGEN_STRONG_INLINE Packet4i parithmetic_shift_right(const Packet4i &a)
Definition: AltiVec/PacketMath.h:1975
EIGEN_DEVICE_FUNC Packet pisinf(const Packet &a)
Definition: GenericPacketMath.h:1007
EIGEN_DEVICE_FUNC Packet paddsub(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:694
EIGEN_DEVICE_FUNC void pstoreu_partial(Scalar *to, const Packet &from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:917
EIGEN_STRONG_INLINE Packet4f pceil(const Packet4f &a)
Definition: LSX/PacketMath.h:2546
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void pstoret(Scalar *to, const Packet &from)
Definition: GenericPacketMath.h:1355
EIGEN_STRONG_INLINE Packet8bf psignbit(const Packet8bf &a)
Definition: AltiVec/PacketMath.h:1966
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexp2(const Packet &a)
Definition: GenericPacketMath.h:1091
EIGEN_DEVICE_FUNC Packet pabsdiff(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:746
EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f &a)
Definition: AltiVec/PacketMath.h:1936
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog1p(const Packet &a)
Definition: GenericPacketMath.h:1110
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet ploaddup(const typename unpacket_traits< Packet >::type *from)
Definition: GenericPacketMath.h:824
EIGEN_STRONG_INLINE Packet8f peven_mask(const Packet8f &)
Definition: AVX/PacketMath.h:791
EIGEN_STRONG_INLINE bfloat16 pfirst(const Packet8bf &a)
Definition: AltiVec/PacketMath.h:2418
EIGEN_DEVICE_FUNC void pscatter(Scalar *to, const Packet &from, Index stride, typename unpacket_traits< Packet >::mask_t umask)
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
Definition: GenericPacketMath.h:891
EIGEN_STRONG_INLINE Packet4f pnmsub(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition: LSX/PacketMath.h:835
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux(const Packet &a)
Definition: GenericPacketMath.h:1232
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet4c predux_half_dowto4(const Packet8c &a)
Definition: NEON/PacketMath.h:3635
EIGEN_STRONG_INLINE Packet4f psqrt(const Packet4f &a)
Definition: LSX/PacketMath.h:2176
EIGEN_STRONG_INLINE Packet2cf pcmp_eq(const Packet2cf &a, const Packet2cf &b)
Definition: AltiVec/Complex.h:353
EIGEN_STRONG_INLINE Packet8h pldexp(const Packet8h &a, const Packet8h &exponent)
Definition: arch/AVX/MathFunctions.h:80
EIGEN_STRONG_INLINE Packet4f pmsub(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition: LSX/PacketMath.h:819
EIGEN_DEVICE_FUNC void pstoreu(Scalar *to, const Packet &from)
Definition: GenericPacketMath.h:911
EIGEN_STRONG_INLINE Packet8h pand(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2319
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet ploadt(const typename unpacket_traits< Packet >::type *from)
Definition: GenericPacketMath.h:1334
EIGEN_STRONG_INLINE Packet8h pxor(const Packet8h &a, const Packet8h &b)
Definition: AVX/PacketMath.h:2315
EIGEN_DEVICE_FUNC void pbroadcast2(const typename unpacket_traits< Packet >::type *a, Packet &a0, Packet &a1)
Definition: GenericPacketMath.h:865
EIGEN_STRONG_INLINE Packet4f pnmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition: LSX/PacketMath.h:827
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psinh(const Packet &a)
Definition: GenericPacketMath.h:1050
EIGEN_STRONG_INLINE Packet4f pselect(const Packet4f &mask, const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1474
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pasin(const Packet &a)
Definition: GenericPacketMath.h:1036
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:337
EIGEN_DEVICE_FUNC void pscatter_partial(Scalar *to, const Packet &from, Index stride, const Index n)
Definition: GenericPacketMath.h:956
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet plset(const typename unpacket_traits< Packet >::type &a)
Returns a packet with coefficients (a,a+1,...,a+packet_size-1).
Definition: GenericPacketMath.h:872
EIGEN_STRONG_INLINE Packet4f pround(const Packet4f &a)
Definition: LSX/PacketMath.h:2555
EIGEN_STRONG_INLINE Packet8h pfrexp(const Packet8h &a, Packet8h &exponent)
Definition: arch/AVX/MathFunctions.h:72
EIGEN_STRONG_INLINE Packet4f pfloor(const Packet4f &a)
Definition: LSX/PacketMath.h:2537
EIGEN_DEVICE_FUNC Packet pload1(const typename unpacket_traits< Packet >::type *a)
Definition: GenericPacketMath.h:814
void pstore1(typename unpacket_traits< Packet >::type *to, const typename unpacket_traits< Packet >::type &a)
Definition: GenericPacketMath.h:1327
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet ploadt_ro(const typename unpacket_traits< Packet >::type *from)
Definition: GenericPacketMath.h:1379
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE Packet ploadt_partial(const typename unpacket_traits< Packet >::type *from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:1344
EIGEN_DEVICE_FUNC Packet pload(const typename unpacket_traits< Packet >::type *from)
Definition: GenericPacketMath.h:752
EIGEN_STRONG_INLINE Packet4f prsqrt(const Packet4f &a)
Definition: LSX/PacketMath.h:2528
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patanh(const Packet &a)
Definition: GenericPacketMath.h:1078
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patan(const Packet &a)
Definition: GenericPacketMath.h:1064
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void pstoret_partial(Scalar *to, const Packet &from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:1365
EIGEN_STRONG_INLINE Packet4f pcmp_lt_or_nan(const Packet4f &a, const Packet4f &b)
Definition: AltiVec/PacketMath.h:1329
EIGEN_DEVICE_FUNC Packet psign(const Packet &a)
Definition: GenericPacketMath.h:1189
EIGEN_STRONG_INLINE Packet4f pexp(const Packet4f &_x)
Definition: LSX/PacketMath.h:2663
EIGEN_DEVICE_FUNC Packet pset1(const typename unpacket_traits< Packet >::type &a)
Definition: GenericPacketMath.h:804
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_mul(const Packet &a)
Definition: GenericPacketMath.h:1238
EIGEN_DEVICE_FUNC Packet ploadu_partial(const typename unpacket_traits< Packet >::type *from, const Index n, const Index offset=0)
Definition: GenericPacketMath.h:782
std::int32_t int32_t
Definition: Meta.h:41
std::int8_t int8_t
Definition: Meta.h:37
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar round(const Scalar &x)
Definition: MathFunctions.h:1195
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar() trunc(const Scalar &x)
Definition: MathFunctions.h:1210
std::uint8_t uint8_t
Definition: Meta.h:36
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool equal_strict(const X &x, const Y &y)
Definition: Meta.h:571
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T maxi(const T &x, const T &y)
Definition: MathFunctions.h:926
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE std::enable_if_t< NumTraits< T >::IsSigned||NumTraits< T >::IsComplex, typename NumTraits< T >::Real > abs(const T &x)
Definition: MathFunctions.h:1355
std::int16_t int16_t
Definition: Meta.h:39
std::int64_t int64_t
Definition: Meta.h:43
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool not_equal_strict(const X &x, const Y &y)
Definition: Meta.h:606
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar logical_shift_left(const Scalar &a, int n)
Definition: MathFunctions.h:1827
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar rint(const Scalar &x)
Definition: MathFunctions.h:1190
std::uint16_t uint16_t
Definition: Meta.h:38
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T cbrt(const T &x)
Definition: MathFunctions.h:1320
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T exp(const T &x)
Definition: MathFunctions.h:1424
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar() floor(const Scalar &x)
Definition: MathFunctions.h:1200
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar arithmetic_shift_right(const Scalar &a, int n)
Definition: MathFunctions.h:1838
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE float sqrt(const float &x)
Definition: arch/SSE/MathFunctions.h:69
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar() ceil(const Scalar &x)
Definition: MathFunctions.h:1205
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T mini(const T &x, const T &y)
Definition: MathFunctions.h:920
std::uint32_t uint32_t
Definition: Meta.h:40
std::uint64_t uint64_t
Definition: Meta.h:42
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar logical_shift_right(const Scalar &a, int n)
Definition: MathFunctions.h:1832
EIGEN_DEVICE_FUNC static constexpr EIGEN_ALWAYS_INLINE Scalar signbit(const Scalar &x)
Definition: MathFunctions.h:1419
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T exp2(const T &x)
Definition: MathFunctions.h:1481
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T atan2(const T &y, const T &x)
Definition: MathFunctions.h:1689
T negate(const T &x)
Definition: packetmath_test_shared.h:26
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
squared absolute value
Definition: GlobalFunctions.h:87
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
T sign(T x)
Definition: cxx11_tensor_builtins_sycl.cpp:172
int c
Definition: calibrate.py:100
const Mdouble inf
Definition: GeneralDefine.h:23
Definition: Eigen_Colamd.h:49
list x
Definition: plotDoE.py:28
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
Packet4f v
Definition: AltiVec/Complex.h:78
Definition: GenericPacketMath.h:1407
Packet packet[N]
Definition: GenericPacketMath.h:1408
Definition: GenericPacketMath.h:1421
bool select[N]
Definition: GenericPacketMath.h:1422
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE bool operator()(const bool &a, const bool &b) const
Definition: GenericPacketMath.h:472
Definition: GenericPacketMath.h:451
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a, const T &b) const
Definition: GenericPacketMath.h:452
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE bool operator()(const bool &a) const
Definition: GenericPacketMath.h:493
Definition: GenericPacketMath.h:466
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a) const
Definition: GenericPacketMath.h:467
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE bool operator()(const bool &a, const bool &b) const
Definition: GenericPacketMath.h:479
Definition: GenericPacketMath.h:456
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a, const T &b) const
Definition: GenericPacketMath.h:457
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE bool operator()(const bool &a, const bool &b) const
Definition: GenericPacketMath.h:486
Definition: GenericPacketMath.h:461
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR EIGEN_ALWAYS_INLINE T operator()(const T &a, const T &b) const
Definition: GenericPacketMath.h:462
Definition: GenericPacketMath.h:544
Definition: GenericPacketMath.h:507
static EIGEN_DEVICE_FUNC T bitwise_xor(const T &a, const T &b)
Definition: GenericPacketMath.h:512
static EIGEN_DEVICE_FUNC T bitwise_not(const T &a)
Definition: GenericPacketMath.h:515
static EIGEN_DEVICE_FUNC T unary(const T &a, Op op)
Definition: GenericPacketMath.h:519
static EIGEN_DEVICE_FUNC T bitwise_and(const T &a, const T &b)
Definition: GenericPacketMath.h:508
static EIGEN_DEVICE_FUNC T binary(const T &a, const T &b, Op op)
Definition: GenericPacketMath.h:530
static EIGEN_DEVICE_FUNC T bitwise_or(const T &a, const T &b)
Definition: GenericPacketMath.h:511
static EIGEN_DEVICE_FUNC NewType run(const OldType &x)
Definition: MathFunctions.h:340
Definition: GenericPacketMath.h:45
@ HasSign
Definition: GenericPacketMath.h:59
@ HasZeta
Definition: GenericPacketMath.h:93
@ HasASin
Definition: GenericPacketMath.h:84
@ HasIGamma
Definition: GenericPacketMath.h:99
@ HasATanh
Definition: GenericPacketMath.h:87
@ HasSub
Definition: GenericPacketMath.h:49
@ HasRsqrt
Definition: GenericPacketMath.h:74
@ HasSin
Definition: GenericPacketMath.h:81
@ HasBlend
Definition: GenericPacketMath.h:66
@ HasLog10
Definition: GenericPacketMath.h:79
@ HasTan
Definition: GenericPacketMath.h:83
@ HasErfc
Definition: GenericPacketMath.h:96
@ HasACos
Definition: GenericPacketMath.h:85
@ HasAbsDiff
Definition: GenericPacketMath.h:65
@ HasMin
Definition: GenericPacketMath.h:55
@ HasArg
Definition: GenericPacketMath.h:64
@ HasNdtri
Definition: GenericPacketMath.h:97
@ HasCos
Definition: GenericPacketMath.h:82
@ HasSinh
Definition: GenericPacketMath.h:88
@ HasPolygamma
Definition: GenericPacketMath.h:94
@ HasCmp
Definition: GenericPacketMath.h:69
@ HasDiGamma
Definition: GenericPacketMath.h:92
@ HasConj
Definition: GenericPacketMath.h:57
@ HasSetLinear
Definition: GenericPacketMath.h:58
@ HasReciprocal
Definition: GenericPacketMath.h:72
@ HasShift
Definition: GenericPacketMath.h:50
@ HasLog1p
Definition: GenericPacketMath.h:78
@ HasMax
Definition: GenericPacketMath.h:56
@ HasPow
Definition: GenericPacketMath.h:80
@ HasIGammac
Definition: GenericPacketMath.h:102
@ HasNegate
Definition: GenericPacketMath.h:52
@ HasAdd
Definition: GenericPacketMath.h:48
@ HasExp
Definition: GenericPacketMath.h:75
@ HasRound
Definition: GenericPacketMath.h:62
@ HasBetaInc
Definition: GenericPacketMath.h:103
@ HasSqrt
Definition: GenericPacketMath.h:73
@ HasLGamma
Definition: GenericPacketMath.h:91
@ HasErf
Definition: GenericPacketMath.h:95
@ HasBessel
Definition: GenericPacketMath.h:98
@ HasAbs
Definition: GenericPacketMath.h:53
@ HasCosh
Definition: GenericPacketMath.h:89
@ HasExpm1
Definition: GenericPacketMath.h:76
@ HasLog
Definition: GenericPacketMath.h:77
@ HasTanh
Definition: GenericPacketMath.h:90
@ HasMul
Definition: GenericPacketMath.h:51
@ HasAbs2
Definition: GenericPacketMath.h:54
@ HasGammaSampleDerAlpha
Definition: GenericPacketMath.h:101
@ HasIGammaDerA
Definition: GenericPacketMath.h:100
@ HasATan
Definition: GenericPacketMath.h:86
@ HasDiv
Definition: GenericPacketMath.h:71
Definition: GenericPacketMath.h:225
EIGEN_ALWAYS_INLINE eigen_packet_wrapper & operator=(const T &v)
Definition: GenericPacketMath.h:230
EIGEN_ALWAYS_INLINE eigen_packet_wrapper()=default
EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v)
Definition: GenericPacketMath.h:229
T m_val
Definition: GenericPacketMath.h:235
typename unpacket_traits< SrcPacket >::type SrcScalar
Definition: GenericPacketMath.h:177
typename unpacket_traits< TgtPacket >::type TgtScalar
Definition: GenericPacketMath.h:179
Definition: GenericPacketMath.h:165
Definition: GenericPacketMath.h:186
static constexpr bool value
Definition: GenericPacketMath.h:187
Definition: GenericPacketMath.h:192
static constexpr int Size
Definition: GenericPacketMath.h:194
typename packet_traits< Scalar >::type DefaultPacket
Definition: GenericPacketMath.h:195
typename unpacket_traits< Packet >::type Scalar
Definition: GenericPacketMath.h:193
static constexpr int DefaultSize
Definition: GenericPacketMath.h:196
static constexpr bool value
Definition: GenericPacketMath.h:197
@ value
Definition: Meta.h:206
Definition: GenericPacketMath.h:154
@ value
Definition: GenericPacketMath.h:156
typename unpacket_traits< Packet >::type Scalar
Definition: GenericPacketMath.h:155
Definition: GenericPacketMath.h:1143
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run_ceil(const Packet &x)
Definition: GenericPacketMath.h:1145
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run_floor(const Packet &x)
Definition: GenericPacketMath.h:1144
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run_trunc(const Packet &x)
Definition: GenericPacketMath.h:1148
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run_round(const Packet &x)
Definition: GenericPacketMath.h:1147
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run_rint(const Packet &x)
Definition: GenericPacketMath.h:1146
Definition: GenericPacketMath.h:498
static EIGEN_DEVICE_FUNC T bitwise_not(const T &a)
Definition: GenericPacketMath.h:502
static EIGEN_DEVICE_FUNC T bitwise_xor(const T &a, const T &b)
Definition: GenericPacketMath.h:501
static EIGEN_DEVICE_FUNC T bitwise_and(const T &a, const T &b)
Definition: GenericPacketMath.h:499
static EIGEN_DEVICE_FUNC T bitwise_or(const T &a, const T &b)
Definition: GenericPacketMath.h:500
Definition: GenericPacketMath.h:108
T type
Definition: GenericPacketMath.h:109
@ size
Definition: GenericPacketMath.h:113
@ AlignedOnScalar
Definition: GenericPacketMath.h:114
@ Vectorizable
Definition: GenericPacketMath.h:112
T half
Definition: GenericPacketMath.h:110
@ 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
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run(const Packet &a)
Definition: GenericPacketMath.h:276
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TgtPacket run(const SrcPacket &a)
Definition: GenericPacketMath.h:268
typename is_half< TgtPacket >::DefaultPacket DefaultTgtPacket
Definition: GenericPacketMath.h:310
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TgtPacket run(const SrcPacket &a)
Definition: GenericPacketMath.h:311
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TgtPacket run(const SrcPacket &a)
Definition: GenericPacketMath.h:282
Definition: GenericPacketMath.h:263
static EIGEN_DEVICE_FUNC Packet run(const Packet &a, const Packet &b, Op op)
Definition: GenericPacketMath.h:624
static EIGEN_DEVICE_FUNC Packet run(const Packet &a, const Packet &b, Op op)
Definition: GenericPacketMath.h:637
Definition: GenericPacketMath.h:612
static EIGEN_DEVICE_FUNC Packet run(const Packet &a, const Packet &b, Op op)
Definition: GenericPacketMath.h:614
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run(const Packet &a)
Definition: GenericPacketMath.h:252
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Target run(const Packet &a)
Definition: GenericPacketMath.h:244
Definition: GenericPacketMath.h:239
static EIGEN_DEVICE_FUNC Packet run(const Packet &mask, const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:593
Definition: GenericPacketMath.h:584
static EIGEN_DEVICE_FUNC Packet run(const Packet &mask, const Packet &a, const Packet &b)
Definition: GenericPacketMath.h:585
Definition: GenericPacketMath.h:1183
static EIGEN_DEVICE_FUNC Packet run(const Packet &a)
Definition: GenericPacketMath.h:1184
EIGEN_DEVICE_FUNC static EIGEN_ALWAYS_INLINE Packet run(const Packet &a)
Definition: GenericPacketMath.h:1456
unpacket_traits< Packet >::type Scalar
Definition: GenericPacketMath.h:1455
EIGEN_DEVICE_FUNC static constexpr EIGEN_ALWAYS_INLINE Packet run(const Packet &a)
Definition: GenericPacketMath.h:1465
EIGEN_DEVICE_FUNC static constexpr EIGEN_ALWAYS_INLINE Packet run(const Packet &a)
Definition: GenericPacketMath.h:1449
Definition: GenericPacketMath.h:1446
static EIGEN_DEVICE_FUNC T run(const T &)
Definition: GenericPacketMath.h:394
static EIGEN_DEVICE_FUNC bool run(const bool &)
Definition: GenericPacketMath.h:385
Definition: GenericPacketMath.h:374
static EIGEN_DEVICE_FUNC Packet run(const Packet &)
Definition: GenericPacketMath.h:375
static EIGEN_DEVICE_FUNC T run(const T &)
Definition: GenericPacketMath.h:417
Definition: GenericPacketMath.h:405
static EIGEN_DEVICE_FUNC Packet run(const Packet &)
Definition: GenericPacketMath.h:406
Definition: GenericPacketMath.h:201
@ TgtCoeffRatio
Definition: GenericPacketMath.h:206
@ VectorizedCast
Definition: GenericPacketMath.h:203
@ SrcCoeffRatio
Definition: GenericPacketMath.h:205
Definition: GenericPacketMath.h:134
numext::get_integer_by_size< sizeof(T)>::signed_type integer_packet
Definition: GenericPacketMath.h:137
T type
Definition: GenericPacketMath.h:135
T half
Definition: GenericPacketMath.h:136
@ masked_load_available
Definition: GenericPacketMath.h:142
@ size
Definition: GenericPacketMath.h:139
@ masked_store_available
Definition: GenericPacketMath.h:143
@ vectorizable
Definition: GenericPacketMath.h:141
@ alignment
Definition: GenericPacketMath.h:140
Definition: GenericPacketMath.h:212
@ DefaultSrcPacketSize
Definition: GenericPacketMath.h:214
@ VectorizedCast
Definition: GenericPacketMath.h:216
@ SrcCoeffRatio
Definition: GenericPacketMath.h:217
@ TgtCoeffRatio
Definition: GenericPacketMath.h:218
@ DefaultTgtPacketSize
Definition: GenericPacketMath.h:215
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317
Definition: ZVector/PacketMath.h:50