35 #ifndef _BLAZE_MATH_TYPETRAITS_ISSIMDCOMBINABLE_H_ 36 #define _BLAZE_MATH_TYPETRAITS_ISSIMDCOMBINABLE_H_ 64 struct IsSIMDCombinableHelper
66 enum :
bool { value = IsSIMDCombinableHelper<T1,T2>::value &&
67 IsSIMDCombinableHelper<T2,Ts...>::value };
75 template<
typename T >
77 struct IsSIMDCombinableHelper<T,T>
79 enum :
bool { value = IsNumeric<T>::value };
87 template<
typename T1,
typename T2 >
89 struct IsSIMDCombinableHelper<T1,T2>
91 enum :
bool { value = IsNumeric<T1>::value && IsIntegral<T1>::value &&
92 IsNumeric<T2>::value && IsIntegral<T2>::value &&
93 sizeof(T1) ==
sizeof(T2) };
119 template<
typename T1,
typename T2,
typename... Ts >
121 :
public BoolConstant< IsSIMDCombinableHelper< T1, T2, Ts... >::value >
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
Header file for the IsIntegral type trait.
Compile time check for data types.This type trait tests whether or not the given types can be combine...
Definition: IsSIMDCombinable.h:120
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the IsNumeric type trait.
Header file for the IntegralConstant class template.