10 #ifndef EIGEN_TYPE_CASTING_AVX512_H 11 #define EIGEN_TYPE_CASTING_AVX512_H 17 template<> EIGEN_STRONG_INLINE Packet16i pcast<Packet16f, Packet16i>(
const Packet16f& a) {
18 return _mm512_cvttps_epi32(a);
21 template<> EIGEN_STRONG_INLINE Packet16f pcast<Packet16i, Packet16f>(
const Packet16i& a) {
22 return _mm512_cvtepi32_ps(a);
25 template<> EIGEN_STRONG_INLINE Packet16i preinterpret<Packet16i, Packet16f>(
const Packet16f& a) {
26 return _mm512_castps_si512(a);
29 template<> EIGEN_STRONG_INLINE Packet16f preinterpret<Packet16f, Packet16i>(
const Packet16i& a) {
30 return _mm512_castsi512_ps(a);
34 struct type_casting_traits<half, float> {
42 template<> EIGEN_STRONG_INLINE Packet16f pcast<Packet16h, Packet16f>(
const Packet16h& a) {
47 struct type_casting_traits<float, half> {
55 template<> EIGEN_STRONG_INLINE Packet16h pcast<Packet16f, Packet16h>(
const Packet16f& a) {
60 struct type_casting_traits<bfloat16, float> {
68 template<> EIGEN_STRONG_INLINE Packet16f pcast<Packet16bf, Packet16f>(
const Packet16bf& a) {
73 struct type_casting_traits<float, bfloat16> {
81 template<> EIGEN_STRONG_INLINE Packet16bf pcast<Packet16f, Packet16bf>(
const Packet16f& a) {
89 #endif // EIGEN_TYPE_CASTING_AVX512_H Namespace containing all symbols from the Eigen library.
Definition: Core:141
Definition: Eigen_Colamd.h:50