Go to the documentation of this file.
10 #ifndef EIGEN_TYPE_CASTING_SSE_H
11 #define EIGEN_TYPE_CASTING_SSE_H
17 #ifndef EIGEN_VECTORIZE_AVX
19 struct type_casting_traits<
float,
int> {
28 struct type_casting_traits<
int,
float> {
56 return _mm_cvttps_epi32(
a);
60 return _mm_cvtepi32_ps(
a);
64 return _mm_shuffle_ps(_mm_cvtpd_ps(
a), _mm_cvtpd_ps(
b), (1 << 2) | (1 << 6));
69 return _mm_cvtps_pd(
a);
73 return _mm_castps_si128(
a);
77 return _mm_castsi128_ps(
a);
81 return _mm_castsi128_pd(
a);
85 return _mm_castpd_si128(
a);
102 __int64_t a64 = _mm_cvtm64_si64(
a.x);
104 float f1 =
static_cast<float>(
h);
106 float f2 =
static_cast<float>(
h);
108 float f3 =
static_cast<float>(
h);
110 float f4 =
static_cast<float>(
h);
115 struct type_casting_traits<
float,
Eigen::half> {
132 result.x = _mm_set_pi16(h3.x, h2.x, h1.x,
h0.x);
142 #endif // EIGEN_TYPE_CASTING_SSE_H
Namespace containing all symbols from the Eigen library.
EIGEN_STRONG_INLINE Packet4f pcast< Packet4i, Packet4f >(const Packet4i &a)
double f2(const Vector2 &x)
EIGEN_STRONG_INLINE Packet4f preinterpret< Packet4f, Packet4i >(const Packet4i &a)
EIGEN_STRONG_INLINE Packet4i pcast< Packet4f, Packet4i >(const Packet4f &a)
EIGEN_STRONG_INLINE Packet4i preinterpret< Packet4i, Packet2d >(const Packet2d &a)
#define EIGEN_STRONG_INLINE
EIGEN_STRONG_INLINE Packet2d preinterpret< Packet2d, Packet4i >(const Packet4i &a)
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
EIGEN_STRONG_INLINE Packet2d pcast< Packet4f, Packet2d >(const Packet4f &a)
EIGEN_STRONG_INLINE Packet4i preinterpret< Packet4i, Packet4f >(const Packet4f &a)
double f3(double x1, double x2)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __half_raw raw_uint16_to_half(numext::uint16_t x)
double f4(double x, double y, double z)
EIGEN_STRONG_INLINE Packet4f pcast< Packet2d, Packet4f >(const Packet2d &a, const Packet2d &b)
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:09:37