35#ifndef _BLAZE_MATH_TYPETRAITS_ISSIMDCOMBINABLE_H_
36#define _BLAZE_MATH_TYPETRAITS_ISSIMDCOMBINABLE_H_
64struct IsSIMDCombinableHelper
65 :
public BoolConstant< IsSIMDCombinableHelper<T1,T2>::value &&
66 IsSIMDCombinableHelper<T2,Ts...>::value >
76struct IsSIMDCombinableHelper<T,T>
86template<
typename T1,
typename T2 >
87struct IsSIMDCombinableHelper<T1,T2>
88 :
public BoolConstant< IsNumeric_v<T1> && IsIntegral_v<T1> &&
89 IsNumeric_v<T2> && IsIntegral_v<T2> &&
90 sizeof(T1) == sizeof(T2) >
116template<
typename T1,
typename T2,
typename... Ts >
118 :
public BoolConstant< IsSIMDCombinableHelper< T1, T2, Ts... >::value >
136template<
typename T1,
typename T2,
typename... Ts >
Header file for the IntegralConstant class template.
Header file for the IsIntegral type trait.
Header file for the IsNumeric type trait.
constexpr bool IsSIMDCombinable_v
Auxiliary variable template for the IsSIMDCombinable type trait.
Definition: IsSIMDCombinable.h:137
IntegralConstant< bool, B > BoolConstant
Generic wrapper for a compile time constant boolean value.
Definition: IntegralConstant.h:110
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for data types.
Definition: IsSIMDCombinable.h:119