35#ifndef _BLAZE_MATH_TYPETRAITS_LOWTYPE_H_
36#define _BLAZE_MATH_TYPETRAITS_LOWTYPE_H_
73 using Type = INVALID_TYPE;
85template<
typename T1,
typename T2 >
86struct LowTypeHelper< T1, T2
89 (
sizeof( T1 ) <
sizeof( T2 ) ) > >
105template<
typename T1,
typename T2 >
106struct LowTypeHelper< T1, T2
109 (
sizeof( T1 ) >
sizeof( T2 ) ) > >
125template<
typename T1,
typename T2 >
126struct LowTypeHelper< T1, T2
129 (
sizeof( T1 ) ==
sizeof( T2 ) ) > >
133 using Type = If_t< IsSigned_v<T1>, T2, T1 >;
145template<
typename T1,
typename T2 >
146struct LowTypeHelper< T1, T2
163template<
typename T1,
typename T2 >
164struct LowTypeHelper< T1, T2
181template<
typename T1,
typename T2 >
182struct LowTypeHelper< T1, T2
187 using Type =
If_t< (
sizeof( T1 ) <
sizeof( T2 ) ), T1, T2 >;
199template<
typename T1,
typename T2 >
200struct LowTypeHelper< T1, T2
217template<
typename T1,
typename T2 >
218struct LowTypeHelper< T1, T2
235template<
typename T1,
typename T2 >
236struct LowTypeHelper< T1, T2
326 using Type =
typename LowTypeHelper<T1,T2>::Type;
Header file for the complex data type.
Header file for the EnableIf class template.
Header file for the If class template.
Utility type for generic codes.
Header file for the IsComplex type trait.
Header file for the IsFloatingPoint type trait.
Header file for the IsIntegral type trait.
Header file for the IsSigned type trait.
Complex data type of the Blaze library.
typename LowType< T1, T2 >::Type LowType_t
Auxiliary alias declaration for the LowType type trait.
Definition: LowType.h:348
constexpr bool IsFloatingPoint_v
Auxiliary variable template for the IsFloatingPoint type trait.
Definition: IsFloatingPoint.h:95
constexpr bool IsIntegral_v
Auxiliary variable template for the IsIntegral type trait.
Definition: IsIntegral.h:95
constexpr bool IsComplex_v
Auxiliary variable template for the IsComplex type trait.
Definition: IsComplex.h:139
typename EnableIf< Condition, T >::Type EnableIf_t
Auxiliary type for the EnableIf class template.
Definition: EnableIf.h:138
typename If< Condition >::template Type< T1, T2 > If_t
Auxiliary alias template for the If class template.
Definition: If.h:108
Base template for the LowType type trait.
Definition: LowType.h:322