35#ifndef _BLAZE_MATH_TYPETRAITS_HASSIMDSHIFTRV_H_
36#define _BLAZE_MATH_TYPETRAITS_HASSIMDSHIFTRV_H_
64template<
typename T1,
typename T2 >
65using HasSIMDShiftRVHelper =
67 IsNumeric_v<T2> && IsIntegral_v<T2> &&
68 sizeof(T1) ==
sizeof(T2) ) &&
70 ( ( IsSigned_v<T1> &&
sizeof(T1) == 4UL ) ||
71 ( !IsSigned_v<T1> &&
sizeof(T1) >= 4UL ) ) ) ||
103 :
public BoolConstant< HasSIMDShiftRVHelper< RemoveCVRef_t<T1>, RemoveCVRef_t<T2> >::value >
Header file for the IntegralConstant class template.
Header file for the IsIntegral type trait.
Header file for the IsNumeric type trait.
Header file for the IsSigned type trait.
Header file for the RemoveCVRef type trait.
constexpr bool HasSIMDShiftRV_v
Auxiliary variable template for the HasSIMDShiftRV type trait.
Definition: HasSIMDShiftRV.h:123
#define BLAZE_AVX512F_MODE
Compilation switch for the AVX512F mode.
Definition: Vectorization.h:246
#define BLAZE_AVX512BW_MODE
Compilation switch for the AVX512BW mode.
Definition: Vectorization.h:264
#define BLAZE_AVX2_MODE
Compilation switch for the AVX2 mode.
Definition: Vectorization.h:228
#define BLAZE_MIC_MODE
Compilation switch for the MIC mode.
Definition: Vectorization.h:299
IntegralConstant< bool, B > BoolConstant
Generic wrapper for a compile time constant boolean value.
Definition: IntegralConstant.h:110
Availability of a SIMD elementwise right-shift for the given data types.
Definition: HasSIMDShiftRV.h:104
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
System settings for the SSE mode.