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