Classes | Namespaces | Defines | Typedefs | Functions

/home/hauberg/Dokumenter/Capture/humim-tracker-0.1/src/ntk/geometry/Eigen/src/Core/arch/SSE/PacketMath.h File Reference

Go to the source code of this file.

Classes

struct  internal::is_arithmetic< __m128 >
struct  internal::is_arithmetic< __m128i >
struct  internal::is_arithmetic< __m128d >
struct  internal::packet_traits< float >
struct  internal::packet_traits< double >
struct  internal::packet_traits< int >
struct  internal::unpacket_traits< Packet4f >
struct  internal::unpacket_traits< Packet2d >
struct  internal::unpacket_traits< Packet4i >
struct  internal::palign_impl< Offset, Packet4f >
struct  internal::palign_impl< Offset, Packet4i >
struct  internal::palign_impl< Offset, Packet2d >

Namespaces

namespace  internal

Defines

#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD   8
#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS   (2*sizeof(void*))
#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 vec4i_swizzle1(v, p, q, r, s)   (_mm_shuffle_epi32( v, ((s)<<6|(r)<<4|(q)<<2|(p))))
#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_swizzle2(a, b, p, q, r, s)   (_mm_shuffle_ps( (a), (b), ((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))))))
#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_AVOID_CUSTOM_UNALIGNED_LOADS   0

Typedefs

typedef __m128d internal::Packet2d

Functions

template<>
EIGEN_STRONG_INLINE Packet4f internal::pset1< Packet4f > (const float &from)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pset1< Packet2d > (const double &from)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pset1< Packet4i > (const int &from)
template<>
EIGEN_STRONG_INLINE Packet4f internal::plset< float > (const float &a)
template<>
EIGEN_STRONG_INLINE Packet2d internal::plset< double > (const double &a)
template<>
EIGEN_STRONG_INLINE Packet4i internal::plset< int > (const int &a)
template<>
EIGEN_STRONG_INLINE Packet4f internal::padd< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::padd< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::padd< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::psub< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::psub< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::psub< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pnegate (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pnegate (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pnegate (const Packet4i &a)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pmul< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pmul< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pmul< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pdiv< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pdiv< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pdiv< Packet4i > (const Packet4i &, const Packet4i &)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pmadd (const Packet4i &a, const Packet4i &b, const Packet4i &c)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pmin< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pmin< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pmin< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pmax< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pmax< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pmax< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pand< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pand< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pand< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::por< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::por< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::por< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pxor< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pxor< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pxor< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pandnot< Packet4f > (const Packet4f &a, const Packet4f &b)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pandnot< Packet2d > (const Packet2d &a, const Packet2d &b)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pandnot< Packet4i > (const Packet4i &a, const Packet4i &b)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pload< Packet4f > (const float *from)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pload< Packet2d > (const double *from)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pload< Packet4i > (const int *from)
template<>
EIGEN_STRONG_INLINE Packet4f internal::ploadu< Packet4f > (const float *from)
template<>
EIGEN_STRONG_INLINE Packet2d internal::ploadu< Packet2d > (const double *from)
template<>
EIGEN_STRONG_INLINE Packet4i internal::ploadu< Packet4i > (const int *from)
template<>
EIGEN_STRONG_INLINE Packet4f internal::ploaddup< Packet4f > (const float *from)
template<>
EIGEN_STRONG_INLINE Packet2d internal::ploaddup< Packet2d > (const double *from)
template<>
EIGEN_STRONG_INLINE Packet4i internal::ploaddup< Packet4i > (const int *from)
template<>
EIGEN_STRONG_INLINE void internal::pstore< float > (float *to, const Packet4f &from)
template<>
EIGEN_STRONG_INLINE void internal::pstore< double > (double *to, const Packet2d &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 void internal::prefetch< float > (const float *addr)
template<>
EIGEN_STRONG_INLINE void internal::prefetch< double > (const double *addr)
template<>
EIGEN_STRONG_INLINE void internal::prefetch< int > (const int *addr)
template<>
EIGEN_STRONG_INLINE float internal::pfirst< Packet4f > (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE double internal::pfirst< Packet2d > (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE int internal::pfirst< Packet4i > (const Packet4i &a)
template<>
EIGEN_STRONG_INLINE Packet4f internal::preverse (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE Packet2d internal::preverse (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE Packet4i internal::preverse (const Packet4i &a)
template<>
EIGEN_STRONG_INLINE Packet4f internal::pabs (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE Packet2d internal::pabs (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE Packet4i internal::pabs (const Packet4i &a)
EIGEN_STRONG_INLINE void internal::punpackp (Packet4f *vecs)
template<>
EIGEN_STRONG_INLINE float internal::predux< Packet4f > (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE double internal::predux< Packet2d > (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE Packet4f internal::preduxp< Packet4f > (const Packet4f *vecs)
template<>
EIGEN_STRONG_INLINE Packet2d internal::preduxp< Packet2d > (const Packet2d *vecs)
template<>
EIGEN_STRONG_INLINE int internal::predux< Packet4i > (const Packet4i &a)
template<>
EIGEN_STRONG_INLINE Packet4i internal::preduxp< Packet4i > (const Packet4i *vecs)
template<>
EIGEN_STRONG_INLINE float internal::predux_mul< Packet4f > (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE double internal::predux_mul< Packet2d > (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE int internal::predux_mul< Packet4i > (const Packet4i &a)
template<>
EIGEN_STRONG_INLINE float internal::predux_min< Packet4f > (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE double internal::predux_min< Packet2d > (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE int internal::predux_min< Packet4i > (const Packet4i &a)
template<>
EIGEN_STRONG_INLINE float internal::predux_max< Packet4f > (const Packet4f &a)
template<>
EIGEN_STRONG_INLINE double internal::predux_max< Packet2d > (const Packet2d &a)
template<>
EIGEN_STRONG_INLINE int internal::predux_max< Packet4i > (const Packet4i &a)

Define Documentation

#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))))))