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);
111 return _mm_set_ps(f4, f3, f2, f1);
132 result.x = _mm_set_pi16(h3.
x, h2.
x, h1.
x, h0.
x);
142 #endif // EIGEN_TYPE_CASTING_SSE_H #define EIGEN_STRONG_INLINE
Namespace containing all symbols from the Eigen library.
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 Packet4f pcast< Packet4i, Packet4f >(const Packet4i &a)
EIGEN_STRONG_INLINE Packet2d preinterpret< Packet2d, Packet4i >(const Packet4i &a)
EIGEN_DEVICE_FUNC void pstore(Scalar *to, const Packet &from)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __half_raw raw_uint16_to_half(numext::uint16_t x)
Point2 f1(const Point3 &p, OptionalJacobian< 2, 3 > H)
double f4(double x, double y, double z)
double f3(double x1, double x2)
EIGEN_STRONG_INLINE Packet4f pcast< Packet2d, Packet4f >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE Packet4i preinterpret< Packet4i, Packet4f >(const Packet4f &a)
EIGEN_STRONG_INLINE Packet2d pcast< Packet4f, Packet2d >(const Packet4f &a)
EIGEN_STRONG_INLINE Packet4i preinterpret< Packet4i, Packet2d >(const Packet2d &a)