35 #ifndef _BLAZE_MATH_TYPETRAITS_LOWTYPE_H_ 36 #define _BLAZE_MATH_TYPETRAITS_LOWTYPE_H_ 72 using Type = INVALID_TYPE;
84 template<
typename T1,
typename T2 >
85 struct LowTypeHelper< T1, T2
88 (
sizeof( T1 ) <
sizeof( T2 ) ) > >
104 template<
typename T1,
typename T2 >
105 struct LowTypeHelper< T1, T2
108 (
sizeof( T1 ) >
sizeof( T2 ) ) > >
124 template<
typename T1,
typename T2 >
125 struct LowTypeHelper< T1, T2
128 (
sizeof( T1 ) ==
sizeof( T2 ) ) > >
132 using Type = If_t< IsSigned_v<T1>, T2, T1 >;
144 template<
typename T1,
typename T2 >
145 struct LowTypeHelper< T1, T2
162 template<
typename T1,
typename T2 >
163 struct LowTypeHelper< T1, T2
180 template<
typename T1,
typename T2 >
181 struct LowTypeHelper< T1, T2
186 using Type =
If_t< (
sizeof( T1 ) <
sizeof( T2 ) ), T1, T2 >;
198 template<
typename T1,
typename T2 >
199 struct LowTypeHelper< T1, T2
216 template<
typename T1,
typename T2 >
217 struct LowTypeHelper< T1, T2
234 template<
typename T1,
typename T2 >
235 struct LowTypeHelper< T1, T2
240 using Type = complex< typename LowTypeHelper< typename T1::value_type, typename T2::value_type >::Type >;
317 template<
typename T1
325 using Type =
typename LowTypeHelper<T1,T2>::Type;
345 template<
typename T1
constexpr bool IsComplex_v
Auxiliary variable template for the IsComplex type trait.The IsComplex_v variable template provides a...
Definition: IsComplex.h:139
typename If< Condition, T1, T2 >::Type If_t
Auxiliary alias template for the If class template.The If_t alias template provides a convenient shor...
Definition: If.h:109
Header file for the IsIntegral 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
Header file for the If class template.
Header file for the IsFloatingPoint type trait.
constexpr bool IsFloatingPoint_v
Auxiliary variable template for the IsFloatingPoint type trait.The IsFloatingPoint_v variable templat...
Definition: IsFloatingPoint.h:95
Base template for the LowType type trait.
Definition: LowType.h:320
Utility type for generic codes.
Header file for the IsSigned type trait.
typename LowType< T1, T2 >::Type LowType_t
Auxiliary alias declaration for the LowType type trait.The LowType_t alias declaration provides a con...
Definition: LowType.h:347
Header file for the IsComplex type trait.
Header file for the complex data type.
constexpr bool IsIntegral_v
Auxiliary variable template for the IsIntegral type trait.The IsIntegral_v variable template provides...
Definition: IsIntegral.h:95