35 #ifndef _BLAZE_MATH_TYPETRAITS_HASSIMDADD_H_ 36 #define _BLAZE_MATH_TYPETRAITS_HASSIMDADD_H_ 69 struct HasSIMDAddHelper
78 template<
typename T1,
typename T2 >
80 IsNumeric_v<T2> && IsIntegral_v<T2> &&
81 sizeof(T1) ==
sizeof(T2) > >
89 template<
typename T >
104 struct HasSIMDAddHelper< float, float >
106 bool( BLAZE_AVX_MODE ) ||
107 bool( BLAZE_MIC_MODE ) ||
108 bool( BLAZE_AVX512F_MODE ) >
112 struct HasSIMDAddHelper< complex<float>, complex<float> >
114 bool( BLAZE_AVX_MODE ) ||
115 bool( BLAZE_MIC_MODE ) ||
116 bool( BLAZE_AVX512F_MODE ) >
125 struct HasSIMDAddHelper< double, double >
127 bool( BLAZE_AVX_MODE ) ||
128 bool( BLAZE_MIC_MODE ) ||
129 bool( BLAZE_AVX512F_MODE ) >
133 struct HasSIMDAddHelper< complex<double>, complex<double> >
135 bool( BLAZE_AVX_MODE ) ||
136 bool( BLAZE_MIC_MODE ) ||
137 bool( BLAZE_AVX512F_MODE ) >
164 template<
typename T1
168 :
public BoolConstant< HasSIMDAddHelper< Decay_t<T1>, Decay_t<T2> >::value >
186 template<
typename T1
BoolConstant< false > FalseType
Type/value traits base class.The FalseType class is used as base class for type traits and value trai...
Definition: FalseType.h:61
Header file for the FalseType type/value trait base class.
#define BLAZE_AVX512F_MODE
Compilation switch for the AVX512F mode.This compilation switch enables/disables the AVX512F mode...
Definition: Vectorization.h:246
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
#define BLAZE_MIC_MODE
Compilation switch for the MIC mode.This compilation switch enables/disables the MIC mode...
Definition: Vectorization.h:299
#define BLAZE_AVX512BW_MODE
Compilation switch for the AVX512BW mode.This compilation switch enables/disables the AVX512BW mode...
Definition: Vectorization.h:264
Header file for the IsIntegral type trait.
Availability of a SIMD addition for the given data types.Depending on the available instruction set (...
Definition: HasSIMDAdd.h:167
#define BLAZE_AVX2_MODE
Compilation switch for the AVX2 mode.This compilation switch enables/disables the AVX2 mode...
Definition: Vectorization.h:228
Header file for the Decay type trait.
typename EnableIf< Condition, T >::Type EnableIf_t
Auxiliary type for the EnableIf class template.The EnableIf_t alias declaration provides a convenient...
Definition: EnableIf.h:138
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
constexpr bool IsNumeric_v
Auxiliary variable template for the IsNumeric type trait.The IsNumeric_v variable template provides a...
Definition: IsNumeric.h:143
Header file for the EnableIf class template.
Header file for the IsNumeric type trait.
IntegralConstant< bool, B > BoolConstant
Generic wrapper for a compile time constant boolean value.The BoolConstant class template represents ...
Definition: IntegralConstant.h:101
constexpr bool HasSIMDAdd_v
Auxiliary variable template for the HasSIMDAdd type trait.The HasSIMDAdd_v variable template provides...
Definition: HasSIMDAdd.h:188
Header file for the IntegralConstant class template.
System settings for the SSE mode.
Header file for the complex data type.
#define BLAZE_SSE2_MODE
Compilation switch for the SSE2 mode.This compilation switch enables/disables the SSE2 mode...
Definition: Vectorization.h:143