SSE/TypeCasting.h
Go to the documentation of this file.
1 // This file is part of Eigen, a lightweight C++ template library
2 // for linear algebra.
3 //
4 // Copyright (C) 2015 Benoit Steiner <benoit.steiner.goog@gmail.com>
5 //
6 // This Source Code Form is subject to the terms of the Mozilla
7 // Public License v. 2.0. If a copy of the MPL was not distributed
8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 
10 #ifndef EIGEN_TYPE_CASTING_SSE_H
11 #define EIGEN_TYPE_CASTING_SSE_H
12 
13 namespace Eigen {
14 
15 namespace internal {
16 
17 #ifndef EIGEN_VECTORIZE_AVX
18 template <>
19 struct type_casting_traits<float, int> {
20  enum {
21  VectorizedCast = 1,
22  SrcCoeffRatio = 1,
23  TgtCoeffRatio = 1
24  };
25 };
26 
27 template <>
28 struct type_casting_traits<int, float> {
29  enum {
30  VectorizedCast = 1,
31  SrcCoeffRatio = 1,
32  TgtCoeffRatio = 1
33  };
34 };
35 
36 template <>
37 struct type_casting_traits<double, float> {
38  enum {
42  };
43 };
44 
45 template <>
46 struct type_casting_traits<float, double> {
47  enum {
51  };
52 };
53 #endif
54 
56  return _mm_cvttps_epi32(a);
57 }
58 
60  return _mm_cvtepi32_ps(a);
61 }
62 
64  return _mm_shuffle_ps(_mm_cvtpd_ps(a), _mm_cvtpd_ps(b), (1 << 2) | (1 << 6));
65 }
66 
68  // Simply discard the second half of the input
69  return _mm_cvtps_pd(a);
70 }
71 
72 
73 } // end namespace internal
74 
75 } // end namespace Eigen
76 
77 #endif // EIGEN_TYPE_CASTING_SSE_H
#define EIGEN_STRONG_INLINE
Definition: Macros.h:494
Scalar * b
Definition: benchVecAdd.cpp:17
return int(ret)+1
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637
__vector int Packet4i
EIGEN_STRONG_INLINE Packet4i pcast< Packet4f, Packet4i >(const Packet4f &a)
Array33i a
EIGEN_STRONG_INLINE Packet4f pcast< Packet4i, Packet4f >(const Packet4i &a)
EIGEN_STRONG_INLINE Packet4f pcast< Packet2d, Packet4f >(const Packet2d &a, const Packet2d &b)
EIGEN_STRONG_INLINE Packet2d pcast< Packet4f, Packet2d >(const Packet4f &a)


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:51:19