35#ifndef _BLAZE_MATH_TYPETRAITS_HIGHTYPE_H_
36#define _BLAZE_MATH_TYPETRAITS_HIGHTYPE_H_
73 using Type = INVALID_TYPE;
85template<
typename T1,
typename T2 >
86struct HighTypeHelper< T1, T2
89 (
sizeof( T1 ) <
sizeof( T2 ) ) > >
105template<
typename T1,
typename T2 >
106struct HighTypeHelper< T1, T2
109 (
sizeof( T1 ) >
sizeof( T2 ) ) > >
125template<
typename T1,
typename T2 >
126struct HighTypeHelper< T1, T2
129 (
sizeof( T1 ) ==
sizeof( T2 ) ) > >
133 using Type = If_t< IsSigned_v<T1>, T1, T2 >;
145template<
typename T1,
typename T2 >
146struct HighTypeHelper< T1, T2
163template<
typename T1,
typename T2 >
164struct HighTypeHelper< T1, T2
181template<
typename T1,
typename T2 >
182struct HighTypeHelper< T1, T2
187 using Type =
If_t< (
sizeof( T1 ) <
sizeof( T2 ) ), T2, T1 >;
199template<
typename T1,
typename T2 >
200struct HighTypeHelper< T1, T2
217template<
typename T1,
typename T2 >
218struct HighTypeHelper< T1, T2
235template<
typename T1,
typename T2 >
236struct HighTypeHelper< T1, T2
326 using Type =
typename HighTypeHelper<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 HighType< T1, T2 >::Type HighType_t
Auxiliary alias declaration for the HighType type trait.
Definition: HighType.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 HighType type trait.
Definition: HighType.h:322