PacketMathFP16.h File Reference

Go to the source code of this file.

Classes

struct  Eigen::internal::is_arithmetic< Packet8h >
 
struct  Eigen::internal::packet_traits< half >
 
struct  Eigen::internal::unpacket_traits< Packet32h >
 
struct  Eigen::internal::unpacket_traits< Packet16h >
 
struct  Eigen::internal::unpacket_traits< Packet8h >
 

Namespaces

 Eigen
 Namespace containing all symbols from the Eigen library.
 
 Eigen::internal
 Namespace containing low-level routines from the Eigen library.
 

Macros

#define PACKET32H_TRANSPOSE_HELPER(X, Y)
 

Typedefs

typedef __m512h Eigen::internal::Packet32h
 

Functions

template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pset1< Packet32h > (const Eigen::half &from)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pzero (const Packet32h &)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pset1frombits< Packet32h > (unsigned short from)
 
template<>
EIGEN_STRONG_INLINE Eigen::half Eigen::internal::pfirst< Packet32h > (const Packet32h &from)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pload< Packet32h > (const Eigen::half *from)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::ploadu< Packet32h > (const Eigen::half *from)
 
template<>
EIGEN_STRONG_INLINE void Eigen::internal::pstore< half > (Eigen::half *to, const Packet32h &from)
 
template<>
EIGEN_STRONG_INLINE void Eigen::internal::pstoreu< half > (Eigen::half *to, const Packet32h &from)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::ploaddup< Packet32h > (const Eigen::half *from)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::ploadquad< Packet32h > (const Eigen::half *from)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pabs< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::psignbit< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pmin< Packet32h > (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pmax< Packet32h > (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::plset< Packet32h > (const half &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::por (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pxor (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pand (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pandnot (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_DEVICE_FUNC Packet32h Eigen::internal::pselect (const Packet32h &mask, const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pcmp_eq (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pcmp_le (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pcmp_lt (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pcmp_lt_or_nan (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::padd< Packet32h > (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::padd< Packet16h > (const Packet16h &a, const Packet16h &b)
 
template<>
EIGEN_STRONG_INLINE Packet8h Eigen::internal::padd< Packet8h > (const Packet8h &a, const Packet8h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::psub< Packet32h > (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::psub< Packet16h > (const Packet16h &a, const Packet16h &b)
 
template<>
EIGEN_STRONG_INLINE Packet8h Eigen::internal::psub< Packet8h > (const Packet8h &a, const Packet8h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pmul< Packet32h > (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::pmul< Packet16h > (const Packet16h &a, const Packet16h &b)
 
template<>
EIGEN_STRONG_INLINE Packet8h Eigen::internal::pmul< Packet8h > (const Packet8h &a, const Packet8h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pdiv< Packet32h > (const Packet32h &a, const Packet32h &b)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::pdiv< Packet16h > (const Packet16h &a, const Packet16h &b)
 
template<>
EIGEN_STRONG_INLINE Packet8h Eigen::internal::pdiv< Packet8h > (const Packet8h &a, const Packet8h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pround< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::print< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pceil< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pfloor< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::ptrunc< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE half Eigen::internal::predux< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE half Eigen::internal::predux< Packet16h > (const Packet16h &from)
 
template<>
EIGEN_STRONG_INLINE Eigen::half Eigen::internal::predux< Packet8h > (const Packet8h &a)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::predux_half_dowto4< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pnegate< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pconj< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::psqrt< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::prsqrt< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::preciprocal< Packet32h > (const Packet32h &a)
 
EIGEN_DEVICE_FUNC void Eigen::internal::ptranspose (PacketBlock< Packet32h, 32 > &a)
 
EIGEN_DEVICE_FUNC void Eigen::internal::ptranspose (PacketBlock< Packet32h, 4 > &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::preverse (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE void Eigen::internal::pscatter< half, Packet32h > (half *to, const Packet32h &from, Index stride)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pgather< Eigen::half, Packet32h > (const Eigen::half *from, Index stride)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::pcos< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::psin< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::plog< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::plog2< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::plog1p< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::pexp< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::pexpm1< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::ptanh< Packet16h > (const Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::pfrexp< Packet16h > (const Packet16h &, Packet16h &)
 
template<>
EIGEN_STRONG_INLINE Packet16h Eigen::internal::pldexp< Packet16h > (const Packet16h &, const Packet16h &)
 
EIGEN_STRONG_INLINE Packet32h Eigen::internal::combine2Packet16h (const Packet16h &a, const Packet16h &b)
 
EIGEN_STRONG_INLINE void Eigen::internal::extract2Packet16h (const Packet32h &x, Packet16h &a, Packet16h &b)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::psin< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pcos< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::plog< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::plog2< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::plog1p< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pexp< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pexpm1< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::ptanh< Packet32h > (const Packet32h &a)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pfrexp< Packet32h > (const Packet32h &a, Packet32h &exponent)
 
template<>
EIGEN_STRONG_INLINE Packet32h Eigen::internal::pldexp< Packet32h > (const Packet32h &a, const Packet32h &exponent)
 

Macro Definition Documentation

◆ PACKET32H_TRANSPOSE_HELPER

#define PACKET32H_TRANSPOSE_HELPER (   X,
  Y 
)
Value:
do { \
f[Y * 8] = _mm512_inserti32x4(f[Y * 8], _mm512_extracti32x4_epi32(q[X * 8], Y), X); \
f[Y * 8 + 1] = _mm512_inserti32x4(f[Y * 8 + 1], _mm512_extracti32x4_epi32(q[X * 8 + 1], Y), X); \
f[Y * 8 + 2] = _mm512_inserti32x4(f[Y * 8 + 2], _mm512_extracti32x4_epi32(q[X * 8 + 2], Y), X); \
f[Y * 8 + 3] = _mm512_inserti32x4(f[Y * 8 + 3], _mm512_extracti32x4_epi32(q[X * 8 + 3], Y), X); \
f[Y * 8 + 4] = _mm512_inserti32x4(f[Y * 8 + 4], _mm512_extracti32x4_epi32(q[X * 8 + 4], Y), X); \
f[Y * 8 + 5] = _mm512_inserti32x4(f[Y * 8 + 5], _mm512_extracti32x4_epi32(q[X * 8 + 5], Y), X); \
f[Y * 8 + 6] = _mm512_inserti32x4(f[Y * 8 + 6], _mm512_extracti32x4_epi32(q[X * 8 + 6], Y), X); \
f[Y * 8 + 7] = _mm512_inserti32x4(f[Y * 8 + 7], _mm512_extracti32x4_epi32(q[X * 8 + 7], Y), X); \
} while (false);
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
#define X
Definition: icosphere.cpp:20
EIGEN_DEVICE_FUNC const Scalar & q
Definition: SpecialFunctionsImpl.h:2019
const char Y
Definition: test/EulerAngles.cpp:32