Go to the documentation of this file.
10 #ifndef EIGEN_PACKET_MATH_ZVECTOR_H
11 #define EIGEN_PACKET_MATH_ZVECTOR_H
19 #ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
20 #define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 4
23 #ifndef EIGEN_HAS_SINGLE_INSTRUCTION_MADD
24 #define EIGEN_HAS_SINGLE_INSTRUCTION_MADD
27 #ifndef EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD
28 #define EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD
31 #ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS
32 #define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 16
64 #define _EIGEN_DECLARE_CONST_FAST_Packet4i(NAME,X) \
65 Packet4i p4i_##NAME = reinterpret_cast<Packet4i>(vec_splat_s32(X))
67 #define _EIGEN_DECLARE_CONST_FAST_Packet2d(NAME,X) \
68 Packet2d p2d_##NAME = reinterpret_cast<Packet2d>(vec_splat_s64(X))
70 #define _EIGEN_DECLARE_CONST_FAST_Packet2l(NAME,X) \
71 Packet2l p2l_##NAME = reinterpret_cast<Packet2l>(vec_splat_s64(X))
73 #define _EIGEN_DECLARE_CONST_Packet4i(NAME,X) \
74 Packet4i p4i_##NAME = pset1<Packet4i>(X)
76 #define _EIGEN_DECLARE_CONST_Packet2d(NAME,X) \
77 Packet2d p2d_##NAME = pset1<Packet2d>(X)
79 #define _EIGEN_DECLARE_CONST_Packet2l(NAME,X) \
80 Packet2l p2l_##NAME = pset1<Packet2l>(X)
97 static Packet16uc p16uc_PSET64_HI = { 0,1,2,3, 4,5,6,7, 0,1,2,3, 4,5,6,7 };
98 static Packet16uc p16uc_DUPLICATE32_HI = { 0,1,2,3, 0,1,2,3, 4,5,6,7, 4,5,6,7 };
101 #define _EIGEN_MASK_ALIGNMENT 0xfffffffffffffff0
103 #define _EIGEN_ALIGNED_PTR(x) ((std::ptrdiff_t)(x) & _EIGEN_MASK_ALIGNMENT)
108 static Packet16uc p16uc_FORWARD = { 0,1,2,3, 4,5,6,7, 8,9,10,11, 12,13,14,15 };
109 static Packet16uc p16uc_REVERSE32 = { 12,13,14,15, 8,9,10,11, 4,5,6,7, 0,1,2,3 };
110 static Packet16uc p16uc_REVERSE64 = { 8,9,10,11, 12,13,14,15, 0,1,2,3, 4,5,6,7 };
120 static Packet16uc p16uc_TRANSPOSE64_HI = { 0,1,2,3, 4,5,6,7, 16,17,18,19, 20,21,22,23};
121 static Packet16uc p16uc_TRANSPOSE64_LO = { 8,9,10,11, 12,13,14,15, 24,25,26,27, 28,29,30,31};
128 #if EIGEN_HAS_BUILTIN(__builtin_prefetch) || EIGEN_COMP_GNUC
129 #define EIGEN_ZVECTOR_PREFETCH(ADDR) __builtin_prefetch(ADDR);
131 #define EIGEN_ZVECTOR_PREFETCH(ADDR) asm( " pfd [%[addr]]\n" :: [addr] "r" (ADDR) : "cc" );
134 template<>
struct packet_traits<
int> : default_packet_traits
152 template<>
struct packet_traits<float> : default_packet_traits
183 template<>
struct packet_traits<double> : default_packet_traits
225 s << vt.
i[0] <<
", " << vt.
i[1] <<
", " << vt.
i[2] <<
", " << vt.
i[3];
233 s << vt.ui[0] <<
", " << vt.ui[1] <<
", " << vt.ui[2] <<
", " << vt.ui[3];
241 s << vt.
l[0] <<
", " << vt.
l[1];
249 s << vt.
ul[0] <<
", " << vt.
ul[1] ;
257 s << vt.
d[0] <<
", " << vt.
d[1];
268 splat.
v4f[0] = vec_splat(from.
v4f[0], 0);
269 splat.
v4f[1] = splat.
v4f[0];
272 splat.
v4f[0] = vec_splat(from.
v4f[0], 1);
273 splat.
v4f[1] = splat.
v4f[0];
276 splat.
v4f[0] = vec_splat(from.
v4f[1], 0);
277 splat.
v4f[1] = splat.
v4f[0];
280 splat.
v4f[0] = vec_splat(from.
v4f[1], 1);
281 splat.
v4f[1] = splat.
v4f[0];
292 switch (Offset % 4) {
294 first = vec_sld(first, second, 4);
break;
296 first = vec_sld(first, second, 8);
break;
298 first = vec_sld(first, second, 12);
break;
310 switch (Offset % 4) {
312 first.
v4f[0] = vec_sld(first.
v4f[0], first.
v4f[1], 8);
313 first.
v4f[1] = vec_sld(first.
v4f[1], second.
v4f[0], 8);
316 first.
v4f[0] = first.
v4f[1];
317 first.
v4f[1] = second.
v4f[0];
320 first.
v4f[0] = vec_sld(first.
v4f[1], second.
v4f[0], 8);
321 first.
v4f[1] = vec_sld(second.
v4f[0], second.
v4f[1], 8);
334 first =
reinterpret_cast<Packet2d>(vec_sld(
reinterpret_cast<Packet4i>(first),
reinterpret_cast<Packet4i>(second), 8));
343 vfrom = (Packet *) from;
352 vfrom.v4f[0] = vec_ld2f(&from[0]);
353 vfrom.v4f[1] = vec_ld2f(&from[2]);
362 vfrom = (Packet *) from;
379 vec_st2f(from.v4f[0], &to[0]);
380 vec_st2f(from.v4f[1], &to[2]);
395 return vec_splats(from);
398 return vec_splats(from);
404 to.v4f[1] = to.v4f[0];
413 a0 = vec_splat(a3, 0);
414 a1 = vec_splat(a3, 1);
415 a2 = vec_splat(a3, 2);
416 a3 = vec_splat(a3, 3);
424 a0 = vec_splat_packet4f<0>(a3);
425 a1 = vec_splat_packet4f<1>(a3);
426 a2 = vec_splat_packet4f<2>(a3);
427 a3 = vec_splat_packet4f<3>(a3);
435 a0 = vec_splat(a1, 0);
436 a1 = vec_splat(a1, 1);
438 a2 = vec_splat(a3, 0);
439 a3 = vec_splat(a3, 1);
445 ai[0] = from[0*stride];
446 ai[1] = from[1*stride];
447 ai[2] = from[2*stride];
448 ai[3] = from[3*stride];
455 ai[0] = from[0*stride];
456 ai[1] = from[1*stride];
457 ai[2] = from[2*stride];
458 ai[3] = from[3*stride];
465 af[0] = from[0*stride];
466 af[1] = from[1*stride];
474 to[0*stride] = ai[0];
475 to[1*stride] = ai[1];
476 to[2*stride] = ai[2];
477 to[3*stride] = ai[3];
484 to[0*stride] = ai[0];
485 to[1*stride] = ai[1];
486 to[2*stride] = ai[2];
487 to[3*stride] = ai[3];
494 to[0*stride] = af[0];
495 to[1*stride] = af[1];
502 c.v4f[0] =
a.v4f[0] +
b.v4f[0];
503 c.v4f[1] =
a.v4f[1] +
b.v4f[1];
512 c.v4f[0] =
a.v4f[0] -
b.v4f[0];
513 c.v4f[1] =
a.v4f[1] -
b.v4f[1];
522 c.v4f[0] =
a.v4f[0] *
b.v4f[0];
523 c.v4f[1] =
a.v4f[1] *
b.v4f[1];
532 c.v4f[0] =
a.v4f[0] /
b.v4f[0];
533 c.v4f[1] =
a.v4f[1] /
b.v4f[1];
542 c.v4f[0] = -
a.v4f[0];
543 c.v4f[1] = -
a.v4f[1];
556 res.v4f[0] = vec_madd(
a.v4f[0],
b.v4f[0],
c.v4f[0]);
557 res.v4f[1] = vec_madd(
a.v4f[1],
b.v4f[1],
c.v4f[1]);
571 res.v4f[0] =
pmin(
a.v4f[0],
b.v4f[0]);
572 res.v4f[1] =
pmin(
a.v4f[1],
b.v4f[1]);
581 res.v4f[0] =
pmax(
a.v4f[0],
b.v4f[0]);
582 res.v4f[1] =
pmax(
a.v4f[1],
b.v4f[1]);
591 res.v4f[0] =
pand(
a.v4f[0],
b.v4f[0]);
592 res.v4f[1] =
pand(
a.v4f[1],
b.v4f[1]);
601 res.v4f[0] =
pand(
a.v4f[0],
b.v4f[0]);
602 res.v4f[1] =
pand(
a.v4f[1],
b.v4f[1]);
611 res.v4f[0] =
pand(
a.v4f[0],
b.v4f[0]);
612 res.v4f[1] =
pand(
a.v4f[1],
b.v4f[1]);
621 res.v4f[0] =
pandnot(
a.v4f[0],
b.v4f[0]);
622 res.v4f[1] =
pandnot(
a.v4f[1],
b.v4f[1]);
629 res.v4f[0] = vec_round(
a.v4f[0]);
630 res.v4f[1] = vec_round(
a.v4f[1]);
637 res.v4f[0] = vec_ceil(
a.v4f[0]);
638 res.v4f[1] = vec_ceil(
a.v4f[1]);
645 res.v4f[0] = vec_floor(
a.v4f[0]);
646 res.v4f[1] = vec_floor(
a.v4f[1]);
665 p.v4f[1] = vec_splat(p.v4f[0], 1);
666 p.v4f[0] = vec_splat(p.v4f[0], 0);
701 rev.v4f[0] = preverse<Packet2d>(
a.v4f[1]);
702 rev.v4f[1] = preverse<Packet2d>(
a.v4f[0]);
719 b = vec_sld(
a,
a, 8);
721 b = vec_sld(sum, sum, 4);
738 return static_cast<float>(first);
748 v[0] = vec_mergeh(vecs[0], vecs[2]);
749 v[1] = vec_mergel(vecs[0], vecs[2]);
750 v[2] = vec_mergeh(vecs[1], vecs[3]);
751 v[3] = vec_mergel(vecs[1], vecs[3]);
753 sum[0] = vec_mergeh(v[0], v[2]);
754 sum[1] = vec_mergel(v[0], v[2]);
755 sum[2] = vec_mergeh(v[1], v[3]);
756 sum[3] = vec_mergel(v[1], v[3]);
782 PacketBlock<Packet4f,4> transpose;
783 transpose.packet[0] = vecs[0];
784 transpose.packet[1] = vecs[1];
785 transpose.packet[2] = vecs[2];
786 transpose.packet[3] = vecs[3];
789 Packet4f sum =
padd(transpose.packet[0], transpose.packet[1]);
790 sum =
padd(sum, transpose.packet[2]);
791 sum =
padd(sum, transpose.packet[3]);
801 return aux[0] * aux[1] * aux[2] * aux[3];
834 return static_cast<float>(
pfirst(res));
857 return static_cast<float>(
pfirst(res));
860 EIGEN_DEVICE_FUNC
inline void
862 Packet4i t0 = vec_mergeh(kernel.packet[0], kernel.packet[2]);
863 Packet4i t1 = vec_mergel(kernel.packet[0], kernel.packet[2]);
864 Packet4i t2 = vec_mergeh(kernel.packet[1], kernel.packet[3]);
865 Packet4i t3 = vec_mergel(kernel.packet[1], kernel.packet[3]);
866 kernel.packet[0] = vec_mergeh(t0, t2);
867 kernel.packet[1] = vec_mergel(t0, t2);
868 kernel.packet[2] = vec_mergeh(t1, t3);
869 kernel.packet[3] = vec_mergel(t1, t3);
872 EIGEN_DEVICE_FUNC
inline void
876 kernel.packet[0] = t0;
877 kernel.packet[1] = t1;
882 EIGEN_DEVICE_FUNC
inline void
884 PacketBlock<Packet2d,2> t0,t1,t2,t3;
886 t0.packet[0] = kernel.packet[0].v4f[0];
887 t0.packet[1] = kernel.packet[1].v4f[0];
890 t1.packet[0] = kernel.packet[0].v4f[1];
891 t1.packet[1] = kernel.packet[1].v4f[1];
894 t2.packet[0] = kernel.packet[2].v4f[0];
895 t2.packet[1] = kernel.packet[3].v4f[0];
898 t3.packet[0] = kernel.packet[2].v4f[1];
899 t3.packet[1] = kernel.packet[3].v4f[1];
908 kernel.packet[0].v4f[0] = t0.packet[0];
909 kernel.packet[0].v4f[1] = t2.packet[0];
910 kernel.packet[1].v4f[0] = t0.packet[1];
911 kernel.packet[1].v4f[1] = t2.packet[1];
912 kernel.packet[2].v4f[0] = t1.packet[0];
913 kernel.packet[2].v4f[1] = t3.packet[0];
914 kernel.packet[3].v4f[0] = t1.packet[1];
915 kernel.packet[3].v4f[1] = t3.packet[1];
919 Packet4ui select = { ifPacket.select[0], ifPacket.select[1], ifPacket.select[2], ifPacket.select[3] };
921 return vec_sel(elsePacket, thenPacket, mask);
925 Packet2ul select_hi = { ifPacket.select[0], ifPacket.select[1] };
926 Packet2ul select_lo = { ifPacket.select[2], ifPacket.select[3] };
930 result.v4f[0] = vec_sel(elsePacket.v4f[0], thenPacket.v4f[0], mask_hi);
931 result.v4f[1] = vec_sel(elsePacket.v4f[1], thenPacket.v4f[1], mask_lo);
936 Packet2ul select = { ifPacket.select[0], ifPacket.select[1] };
938 return vec_sel(elsePacket, thenPacket, mask);
945 #endif // EIGEN_PACKET_MATH_ZVECTOR_H
EIGEN_STRONG_INLINE void pbroadcast4< Packet4i >(const int *a, Packet4i &a0, Packet4i &a1, Packet4i &a2, Packet4i &a3)
static _EIGEN_DECLARE_CONST_FAST_Packet2l(ZERO, 0)
EIGEN_STRONG_INLINE Packet4f pround< Packet4f >(const Packet4f &a)
EIGEN_STRONG_INLINE Packet2d pset1< Packet2d >(const double &from)
EIGEN_STRONG_INLINE Packet2d pdiv< Packet2d >(const Packet2d &a, const Packet2d &b)
static Packet16uc p16uc_FORWARD
static EIGEN_STRONG_INLINE void run(Packet2d &first, const Packet2d &second)
__vector unsigned char Packet16uc
static Packet16uc p16uc_REVERSE32
EIGEN_STRONG_INLINE Packet2d pmul< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE Packet4i pxor< Packet4i >(const Packet4i &a, const Packet4i &b)
EIGEN_STRONG_INLINE Packet4i pload< Packet4i >(const int *from)
EIGEN_STRONG_INLINE int pfirst< Packet4i >(const Packet4i &a)
EIGEN_STRONG_INLINE Packet4i preduxp< Packet4i >(const Packet4i *vecs)
EIGEN_STRONG_INLINE Packet4i pand< Packet4i >(const Packet4i &a, const Packet4i &b)
EIGEN_STRONG_INLINE Packet4f pfloor< Packet4f >(const Packet4f &a)
EIGEN_STRONG_INLINE double predux_max< Packet2d >(const Packet2d &a)
EIGEN_DEVICE_FUNC Packet4f pgather< float, Packet4f >(const float *from, Index stride)
static Packet2d p2d_ZERO_
static Packet4i p4i_COUNTDOWN
EIGEN_STRONG_INLINE Packet2d ploaddup< Packet2d >(const double *from)
EIGEN_STRONG_INLINE Packet4f psub< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE Packet4i plset< Packet4i >(const int &a)
EIGEN_STRONG_INLINE void pbroadcast4< Packet4f >(const float *a, Packet4f &a0, Packet4f &a1, Packet4f &a2, Packet4f &a3)
EIGEN_STRONG_INLINE Packet4i ploadu< Packet4i >(const int *from)
EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf &a)
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type predux_mul(const Packet &a)
EIGEN_STRONG_INLINE Packet4i pandnot< Packet4i >(const Packet4i &a, const Packet4i &b)
EIGEN_STRONG_INLINE Packet2d ploadu< Packet2d >(const double *from)
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
EIGEN_STRONG_INLINE float predux_max< Packet4f >(const Packet4f &a)
EIGEN_STRONG_INLINE void prefetch< float >(const float *addr)
EIGEN_STRONG_INLINE Packet4f vec_splat_packet4f(const Packet4f &from)
EIGEN_STRONG_INLINE Packet4f ploadu< Packet4f >(const float *from)
EIGEN_STRONG_INLINE void pstoreu< int >(int *to, const Packet4i &from)
EIGEN_DEVICE_FUNC Packet2d pgather< double, Packet2d >(const double *from, Index stride)
EIGEN_STRONG_INLINE Packet4f pload< Packet4f >(const float *from)
EIGEN_STRONG_INLINE Packet2d por< Packet2d >(const Packet2d &a, const Packet2d &b)
__vector __bool int Packet4bi
EIGEN_DEVICE_FUNC unpacket_traits< Packet >::type pfirst(const Packet &a)
static Packet16uc p16uc_PSET32_WEVEN
EIGEN_STRONG_INLINE Packet4f padd< Packet4f >(const Packet4f &a, const Packet4f &b)
static Packet16uc p16uc_REVERSE64
EIGEN_DEVICE_FUNC Packet4i pgather< int, Packet4i >(const int *from, Index stride)
EIGEN_STRONG_INLINE Packet2d pand< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE Packet4f pandnot< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE Packet4i psub< Packet4i >(const Packet4i &a, const Packet4i &b)
EIGEN_STRONG_INLINE Packet2d pabs< Packet2d >(const Packet2d &a)
EIGEN_STRONG_INLINE Packet2d padd< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE void pbroadcast4< Packet2d >(const double *a, Packet2d &a0, Packet2d &a1, Packet2d &a2, Packet2d &a3)
static Packet4f p4f_COUNTDOWN
EIGEN_STRONG_INLINE Packet4i pmul< Packet4i >(const Packet4i &a, const Packet4i &b)
EIGEN_STRONG_INLINE Packet4f pmin< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_DEVICE_FUNC Packet pandnot(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE void pstore< double >(double *to, const Packet4d &from)
EIGEN_STRONG_INLINE Packet4f pceil< Packet4f >(const Packet4f &a)
#define EIGEN_ZVECTOR_PREFETCH(ADDR)
__vector unsigned int Packet4ui
static Packet16uc p16uc_DUPLICATE32_HI
EIGEN_STRONG_INLINE Packet4f pmul< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE Packet2d pxor< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
static Packet16uc p16uc_TRANSPOSE64_HI
EIGEN_STRONG_INLINE Packet2d plset< Packet2d >(const double &a)
EIGEN_STRONG_INLINE Packet4f pset1< Packet4f >(const float &from)
EIGEN_STRONG_INLINE void ptranspose(PacketBlock< Packet2cf, 2 > &kernel)
EIGEN_STRONG_INLINE Packet4i por< Packet4i >(const Packet4i &a, const Packet4i &b)
static _EIGEN_DECLARE_CONST_FAST_Packet4i(ZERO, 0)
EIGEN_STRONG_INLINE int predux_min< Packet4i >(const Packet4i &a)
#define EIGEN_DEBUG_ALIGNED_LOAD
#define EIGEN_STRONG_INLINE
EIGEN_STRONG_INLINE Packet4i pdiv< Packet4i >(const Packet4i &, const Packet4i &)
EIGEN_STRONG_INLINE float predux_mul< Packet4f >(const Packet4f &a)
EIGEN_DEVICE_FUNC Packet pmax(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet4i pblend(const Selector< 4 > &ifPacket, const Packet4i &thenPacket, const Packet4i &elsePacket)
EIGEN_DEVICE_FUNC void pscatter< double, Packet2d >(double *to, const Packet2d &from, Index stride)
__vector long long Packet2l
EIGEN_DEVICE_FUNC void pscatter< float, Packet4f >(float *to, const Packet4f &from, Index stride)
__vector short int Packet8i
EIGEN_STRONG_INLINE Packet2d pandnot< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE float predux_min< Packet4f >(const Packet4f &a)
EIGEN_STRONG_INLINE double predux_mul< Packet2d >(const Packet2d &a)
EIGEN_STRONG_INLINE Packet2d preduxp< Packet2d >(const Packet2d *vecs)
EIGEN_DEVICE_FUNC void pscatter< int, Packet4i >(int *to, const Packet4i &from, Index stride)
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
EIGEN_STRONG_INLINE Packet4f plset< Packet4f >(const float &a)
EIGEN_STRONG_INLINE Packet4f ploaddup< Packet4f >(const float *from)
EIGEN_STRONG_INLINE Packet4i pabs< Packet4i >(const Packet4i &a)
EIGEN_STRONG_INLINE Packet2d psub< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE Packet4f pabs< Packet4f >(const Packet4f &a)
static Packet16uc p16uc_PSET32_WODD
static Packet16uc p16uc_PSET64_HI
EIGEN_STRONG_INLINE int predux< Packet4i >(const Packet4i &a)
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE Packet2d pceil< Packet2d >(const Packet2d &a)
EIGEN_STRONG_INLINE Packet2d pmax< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE double pfirst< Packet2d >(const Packet2d &a)
EIGEN_STRONG_INLINE Packet4f por< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_DEVICE_FUNC Packet pand(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE void pstore< int >(int *to, const Packet4i &from)
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
EIGEN_STRONG_INLINE Packet4f pand< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE Packet2d pmin< Packet2d >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE void pstoreu< double >(double *to, const Packet4d &from)
EIGEN_STRONG_INLINE void prefetch< int >(const int *addr)
EIGEN_STRONG_INLINE Packet4f preduxp< Packet4f >(const Packet4f *vecs)
EIGEN_STRONG_INLINE float predux< Packet4f >(const Packet4f &a)
EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f &a)
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
static EIGEN_STRONG_INLINE void run(Packet4f &first, const Packet4f &second)
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
EIGEN_STRONG_INLINE float pfirst< Packet4f >(const Packet4f &a)
EIGEN_STRONG_INLINE Packet2d pfloor< Packet2d >(const Packet2d &a)
__vector unsigned long long Packet2ul
EIGEN_STRONG_INLINE Packet4f pxor< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE void pstoreu< float >(float *to, const Packet4f &from)
static Packet2d p2d_COUNTDOWN
EIGEN_STRONG_INLINE int predux_mul< Packet4i >(const Packet4i &a)
EIGEN_STRONG_INLINE double predux< Packet2d >(const Packet2d &a)
EIGEN_STRONG_INLINE double predux_min< Packet2d >(const Packet2d &a)
EIGEN_STRONG_INLINE Packet4f pdiv< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE Packet4i pmax< Packet4i >(const Packet4i &a, const Packet4i &b)
EIGEN_STRONG_INLINE Packet4f pmax< Packet4f >(const Packet4f &a, const Packet4f &b)
EIGEN_STRONG_INLINE Packet4i pmin< Packet4i >(const Packet4i &a, const Packet4i &b)
std::ostream & operator<<(std::ostream &s, const Packet16uc &v)
EIGEN_STRONG_INLINE void prefetch< double >(const double *addr)
static _EIGEN_DECLARE_CONST_FAST_Packet2d(ZERO, 0)
EIGEN_STRONG_INLINE Packet4i pset1< Packet4i >(const int &from)
static EIGEN_STRONG_INLINE void run(Packet4i &first, const Packet4i &second)
static Packet16uc p16uc_PSET64_LO
static Packet16uc p16uc_TRANSPOSE64_LO
EIGEN_STRONG_INLINE int predux_max< Packet4i >(const Packet4i &a)
EIGEN_STRONG_INLINE Packet2d pload< Packet2d >(const double *from)
#define EIGEN_DEBUG_ALIGNED_STORE
EIGEN_STRONG_INLINE void pstore< float >(float *to, const Packet4f &from)
EIGEN_STRONG_INLINE Packet4i padd< Packet4i >(const Packet4i &a, const Packet4i &b)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
EIGEN_STRONG_INLINE Packet4i ploaddup< Packet4i >(const int *from)
EIGEN_STRONG_INLINE Packet2d pround< Packet2d >(const Packet2d &a)
control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:05:59