22 #ifndef _BLAZE_UTIL_TYPETRAITS_ISVECTORIZABLE_H_
23 #define _BLAZE_UTIL_TYPETRAITS_ISVECTORIZABLE_H_
54 template<
typename T >
55 struct IsVectorizableHelper
58 enum { value = (
BLAZE_SSE_MODE && ( IsFloat<T>::value || IsSame<complex<float>,T>::value ) ) ||
59 (
BLAZE_SSE2_MODE && ( IsDouble<T>::value || IsSame<complex<double>,T>::value ) ) ||
61 (
BLAZE_MIC_MODE && ( ( IsIntegral<T>::value &&
sizeof(T) >= 4UL ) || IsFloat<T>::value || IsDouble<T>::value ) ) };
62 typedef typename SelectType<value,TrueType,FalseType>::Type Type;
91 template<
typename T >
97 enum { value = IsVectorizableHelper<T>::value };
98 typedef typename IsVectorizableHelper<T>::Type Type;