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;
105 template <
class T,
int N>
112 namespace Vc = Vc_VERSIONED_NAMESPACE;
115 #endif // VC_FWDDECL_H_ The main vector class for expressing data parallelism.
Data-parallel arithmetic type with user-defined number of elements.
Data-parallel mask type with user-defined number of boolean elements.
The main SIMD mask class.
Vector Classes Namespace.