33 #define Vc_VERSIONED_NAMESPACE Vc_1
35 namespace Vc_VERSIONED_NAMESPACE
43 template <
class T>
struct DeduceCompatible;
44 template <
class T>
struct DeduceBest;
49 template <
class T, std::
size_t N>
struct select_best_vector_type;
52 template <
class T,
class Abi>
class Mask;
53 template <
class T,
class Abi>
class Vector;
79 template <
class T, std::size_t N,
80 class V =
typename Common::select_best_vector_type<T, N>::type,
81 std::size_t Wt = V::Size>
83 template <
class T, std::size_t N,
84 class V =
typename Common::select_best_vector_type<T, N>::type,
85 std::size_t Wt = V::Size>
90 using scalar = VectorAbi::Scalar;
91 template <
int N>
struct fixed_size;
92 template <
class T>
using compatible =
typename VectorAbi::DeduceCompatible<T>::type;
93 template <
class T>
using native =
typename VectorAbi::DeduceBest<T>::type;
94 using __sse = VectorAbi::Sse;
95 using __avx = VectorAbi::Avx;
100 template <
class T,
class Abi = simd_abi::compatible<T>>
using simd = Vector<T, Abi>;
101 template <
class T,
class Abi = simd_abi::compatible<T>>
using simd_mask = Mask<T, Abi>;
102 template <
class T>
using native_simd = simd<T, simd_abi::native<T>>;
103 template <
class T>
using native_simd_mask = simd_mask<T, simd_abi::native<T>>;
104 template <
class T,
int N>
using fixed_size_simd = simd<T, simd_abi::fixed_size<N>>;
105 template <
class T,
int N>
106 using fixed_size_simd_mask = simd_mask<T, simd_abi::fixed_size<N>>;
112 namespace Vc = Vc_VERSIONED_NAMESPACE;
Vector Classes Namespace.