10#ifndef TLAPACK_SCALAR_TRAITS_HH
11#define TLAPACK_SCALAR_TRAITS_HH
19using std::enable_if_t;
70 template <
typename... Types>
78 using type =
typename std::decay<T>::type;
79 constexpr static bool is_real =
true;
86 constexpr static bool is_real =
false;
99 constexpr static bool is_real =
false;
103 template <
typename T1,
typename T2,
typename...
Types>
106 std::common_type_t<typename real_type_traits<T1, int>::type,
112template <
typename...
Types>
144 template <
typename...
Types>
148 template <
typename T>
152 using type = std::complex<real_type<T>>;
157 template <
typename T>
159 using type = std::complex<real_type<T>>;
164 template <
typename T>
169 template <
typename T>
178 template <
typename T1,
typename T2,
typename...
Types>
187template <
typename...
Types>
215 template <
typename...
Types>
219 template <
typename T>
223 template <
typename T1,
typename T2>
232 template <
typename T1,
typename T2>
240 template <
typename T1,
typename T2,
typename...
Types>
249template <
typename...
Types>
typename traits::real_type_traits< Types..., int >::type real_type
The common real type of the list of types.
Definition scalar_type_traits.hpp:113
typename traits::scalar_type_traits< Types..., int >::type scalar_type
The common scalar type of the list of types.
Definition scalar_type_traits.hpp:250
constexpr bool is_complex
True if T is a complex scalar type.
Definition scalar_type_traits.hpp:192
typename traits::complex_type_traits< Types..., int >::type complex_type
The common complex type of the list of types.
Definition scalar_type_traits.hpp:188
constexpr bool is_real
True if T is a real scalar type.
Definition scalar_type_traits.hpp:117
Complex type traits for the list of types Types.
Definition scalar_type_traits.hpp:145
Real type traits for the list of types Types.
Definition scalar_type_traits.hpp:71
Common scalar type deduced from the list of types Types.
Definition scalar_type_traits.hpp:216