35 #ifndef _BLAZE_MATH_SIMD_SIMDTRAIT_H_ 36 #define _BLAZE_MATH_SIMD_SIMDTRAIT_H_ 75 static constexpr
size_t size = 1UL;
86 template<
typename T >
89 using Type = If_t< IsSigned_v<T>, SIMDint8, SIMDuint8 >;
101 template<
typename T >
104 using Type = If_t< IsSigned_v<T>, SIMDcint8, SIMDcuint8 >;
118 template<
typename T >
121 using Type = If_t< IsSigned_v<T>, SIMDint16, SIMDuint16 >;
133 template<
typename T >
134 struct SIMDTraitBase< complex<T>,
EnableIf_t<
IsNumeric_v<T> && IsIntegral_v<T> && Has2Bytes_v<T> > >
136 using Type = If_t< IsSigned_v<T>, SIMDcint16, SIMDcuint16 >;
150 template<
typename T >
153 using Type = If_t< IsSigned_v<T>, SIMDint32, SIMDuint32 >;
165 template<
typename T >
166 struct SIMDTraitBase< complex<T>,
EnableIf_t<
IsNumeric_v<T> && IsIntegral_v<T> && Has4Bytes_v<T> > >
168 using Type = If_t< IsSigned_v<T>, SIMDcint32, SIMDcuint32 >;
182 template<
typename T >
185 using Type = If_t< IsSigned_v<T>, SIMDint64, SIMDuint64 >;
197 template<
typename T >
198 struct SIMDTraitBase< complex<T>,
EnableIf_t<
IsNumeric_v<T> && IsIntegral_v<T> && Has8Bytes_v<T> > >
200 using Type = If_t< IsSigned_v<T>, SIMDcint64, SIMDcuint64 >;
215 struct SIMDTraitBase<float>
217 using Type = SIMDfloat;
230 struct SIMDTraitBase< complex<float> >
232 using Type = SIMDcfloat;
247 struct SIMDTraitBase<double>
249 using Type = SIMDdouble;
262 struct SIMDTraitBase< complex<double> >
264 using Type = SIMDcdouble;
294 template<
typename T >
296 :
public SIMDTraitBase< RemoveCV_t<T> >
314 template<
typename T >
Header file for basic type definitions.
Header file for the RemoveCV type trait.
Header file for the IsIntegral type trait.
typename SIMDTrait< T >::Type SIMDTrait_t
Auxiliary alias declaration for the SIMDTrait class template.The SIMDTrait_t alias declaration provid...
Definition: SIMDTrait.h:315
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
Header file for the If class template.
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 basic SIMD types.
Header file for the IsNumeric type trait.
Header file for the HasSize type trait.
SIMD characteristics of data types.The SIMDTrait class template provides the SIMD characteristics of ...
Definition: SIMDTrait.h:295
constexpr size_t size(const Matrix< MT, SO > &matrix) noexcept
Returns the total number of elements of the matrix.
Definition: Matrix.h:530
Header file for the IsSigned type trait.
System settings for the SSE mode.
Header file for the complex data type.
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:112