Go to the source code of this file.
Classes | |
struct | internal::is_arithmetic< __m128 > |
struct | internal::is_arithmetic< __m128d > |
struct | internal::is_arithmetic< __m128i > |
struct | internal::packet_traits< double > |
struct | internal::packet_traits< float > |
struct | internal::packet_traits< int > |
struct | internal::palign_impl< Offset, Packet2d > |
struct | internal::palign_impl< Offset, Packet4f > |
struct | internal::palign_impl< Offset, Packet4i > |
struct | internal::unpacket_traits< Packet2d > |
struct | internal::unpacket_traits< Packet4f > |
struct | internal::unpacket_traits< Packet4i > |
Namespaces | |
namespace | internal |
Defines | |
#define | _EIGEN_DECLARE_CONST_Packet4f(NAME, X) const Packet4f p4f_##NAME = pset1<Packet4f>(X) |
#define | _EIGEN_DECLARE_CONST_Packet4f_FROM_INT(NAME, X) const Packet4f p4f_##NAME = _mm_castsi128_ps(pset1<Packet4i>(X)) |
#define | _EIGEN_DECLARE_CONST_Packet4i(NAME, X) const Packet4i p4i_##NAME = pset1<Packet4i>(X) |
#define | EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS (2*sizeof(void*)) |
#define | EIGEN_AVOID_CUSTOM_UNALIGNED_LOADS 0 |
#define | EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8 |
#define | vec2d_swizzle1(v, p, q) (_mm_castsi128_pd(_mm_shuffle_epi32( _mm_castpd_si128(v), ((q*2+1)<<6|(q*2)<<4|(p*2+1)<<2|(p*2))))) |
#define | vec4f_swizzle1(v, p, q, r, s) (_mm_castsi128_ps(_mm_shuffle_epi32( _mm_castps_si128(v), ((s)<<6|(r)<<4|(q)<<2|(p))))) |
#define | vec4f_swizzle2(a, b, p, q, r, s) (_mm_shuffle_ps( (a), (b), ((s)<<6|(r)<<4|(q)<<2|(p)))) |
#define | vec4i_swizzle1(v, p, q, r, s) (_mm_shuffle_epi32( v, ((s)<<6|(r)<<4|(q)<<2|(p)))) |
#define | vec4i_swizzle2(a, b, p, q, r, s) (_mm_castps_si128( (_mm_shuffle_ps( _mm_castsi128_ps(a), _mm_castsi128_ps(b), ((s)<<6|(r)<<4|(q)<<2|(p)))))) |
Typedefs | |
typedef __m128d | internal::Packet2d |
Functions | |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pabs (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pabs (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pabs (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::padd< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::padd< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::padd< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pand< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pand< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pand< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pandnot< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pandnot< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pandnot< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pdiv< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pdiv< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pdiv< Packet4i > (const Packet4i &, const Packet4i &) |
template<> | |
EIGEN_STRONG_INLINE double | internal::pfirst< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE float | internal::pfirst< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | internal::pfirst< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pload< Packet2d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pload< Packet4f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pload< Packet4i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::ploaddup< Packet2d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::ploaddup< Packet4f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::ploaddup< Packet4i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::ploadu< Packet2d > (const double *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::ploadu< Packet4f > (const float *from) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::ploadu< Packet4i > (const int *from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::plset< double > (const double &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::plset< float > (const float &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::plset< int > (const int &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pmadd (const Packet4i &a, const Packet4i &b, const Packet4i &c) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pmax< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pmax< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pmax< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pmin< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pmin< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pmin< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pmul< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pmul< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pmul< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pnegate (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pnegate (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pnegate (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::por< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::por< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::por< Packet4i > (const Packet4i &a, const Packet4i &b) |
template<> | |
EIGEN_STRONG_INLINE double | internal::predux< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE float | internal::predux< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | internal::predux< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE double | internal::predux_max< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE float | internal::predux_max< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | internal::predux_max< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE double | internal::predux_min< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE float | internal::predux_min< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | internal::predux_min< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE double | internal::predux_mul< Packet2d > (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE float | internal::predux_mul< Packet4f > (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE int | internal::predux_mul< Packet4i > (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::preduxp< Packet2d > (const Packet2d *vecs) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::preduxp< Packet4f > (const Packet4f *vecs) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::preduxp< Packet4i > (const Packet4i *vecs) |
template<> | |
EIGEN_STRONG_INLINE void | internal::prefetch< double > (const double *addr) |
template<> | |
EIGEN_STRONG_INLINE void | internal::prefetch< float > (const float *addr) |
template<> | |
EIGEN_STRONG_INLINE void | internal::prefetch< int > (const int *addr) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::preverse (const Packet2d &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::preverse (const Packet4f &a) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::preverse (const Packet4i &a) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pset1< Packet2d > (const double &from) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pset1< Packet4f > (const float &from) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pset1< Packet4i > (const int &from) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstore1< Packet2d > (double *to, const double &a) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstore1< Packet4f > (float *to, const float &a) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstore< double > (double *to, const Packet2d &from) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstore< float > (float *to, const Packet4f &from) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstore< int > (int *to, const Packet4i &from) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstoreu< double > (double *to, const Packet2d &from) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstoreu< float > (float *to, const Packet4f &from) |
template<> | |
EIGEN_STRONG_INLINE void | internal::pstoreu< int > (int *to, const Packet4i &from) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::psub< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::psub< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::psub< Packet4i > (const Packet4i &a, const Packet4i &b) |
EIGEN_STRONG_INLINE void | internal::punpackp (Packet4f *vecs) |
template<> | |
EIGEN_STRONG_INLINE Packet2d | internal::pxor< Packet2d > (const Packet2d &a, const Packet2d &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4f | internal::pxor< Packet4f > (const Packet4f &a, const Packet4f &b) |
template<> | |
EIGEN_STRONG_INLINE Packet4i | internal::pxor< Packet4i > (const Packet4i &a, const Packet4i &b) |
#define _EIGEN_DECLARE_CONST_Packet4f | ( | NAME, | |
X | |||
) | const Packet4f p4f_##NAME = pset1<Packet4f>(X) |
Definition at line 61 of file SSE/PacketMath.h.
#define _EIGEN_DECLARE_CONST_Packet4f_FROM_INT | ( | NAME, | |
X | |||
) | const Packet4f p4f_##NAME = _mm_castsi128_ps(pset1<Packet4i>(X)) |
Definition at line 64 of file SSE/PacketMath.h.
#define _EIGEN_DECLARE_CONST_Packet4i | ( | NAME, | |
X | |||
) | const Packet4i p4i_##NAME = pset1<Packet4i>(X) |
Definition at line 67 of file SSE/PacketMath.h.
#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS (2*sizeof(void*)) |
Definition at line 35 of file SSE/PacketMath.h.
#define EIGEN_AVOID_CUSTOM_UNALIGNED_LOADS 0 |
Definition at line 242 of file SSE/PacketMath.h.
#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8 |
Definition at line 31 of file SSE/PacketMath.h.
#define vec2d_swizzle1 | ( | v, | |
p, | |||
q | |||
) | (_mm_castsi128_pd(_mm_shuffle_epi32( _mm_castpd_si128(v), ((q*2+1)<<6|(q*2)<<4|(p*2+1)<<2|(p*2))))) |
Definition at line 52 of file SSE/PacketMath.h.
#define vec4f_swizzle1 | ( | v, | |
p, | |||
q, | |||
r, | |||
s | |||
) | (_mm_castsi128_ps(_mm_shuffle_epi32( _mm_castps_si128(v), ((s)<<6|(r)<<4|(q)<<2|(p))))) |
Definition at line 46 of file SSE/PacketMath.h.
Definition at line 55 of file SSE/PacketMath.h.
Definition at line 49 of file SSE/PacketMath.h.