|
Uni20
Asynchronous tensor and runtime library.
|
Go to the source code of this file.
Classes | |
| struct | uni20::is_complex_t< T > |
| Trait to detect whether a type is a complex scalar type. More... | |
| struct | uni20::is_integer_t< T > |
Trait to detect whether a type is an integer scalar (excluding bool). More... | |
| struct | uni20::is_real_t< T > |
| Trait to detect whether a type is a real-valued scalar. More... | |
| struct | uni20::is_real_t< double > |
| struct | uni20::is_real_t< float > |
| struct | uni20::is_real_t< long double > |
| struct | uni20::make_complex< T > |
| Metafunction that produces the complex counterpart of a real-valued scalar. More... | |
| struct | uni20::make_real< T > |
| struct | uni20::scalar_type< T > |
Trait to extract the scalar type from a type T. More... | |
| struct | uni20::scalar_type< T > |
Namespaces | |
| namespace | uni20 |
Typedefs | |
| template<typename T > | |
| using | uni20::make_complex_t = typename make_complex< T >::type |
Alias for the complexified version of T. | |
| template<typename T > | |
| using | uni20::make_real_t = typename make_real< T >::type |
Alias for the underlying real-valued type of T. | |
| template<typename T > | |
| using | uni20::scalar_t = typename scalar_type< std::remove_cvref_t< T > >::type |
Variables | |
| template<typename T > | |
| constexpr bool | uni20::is_complex_scalar_valued_v = is_scalar_valued_v<T> && is_complex_v<scalar_t<T>> |
Trait to detect whether T is scalar-valued with a complex scalar. | |
| template<typename T > | |
| constexpr bool | uni20::is_complex_v = is_complex_t<std::remove_cvref_t<T>>::value |
Convenience alias that exposes the value of is_complex_t. | |
| template<typename T > | |
| constexpr bool | uni20::is_integer_scalar_valued_v = is_scalar_valued_v<T> && is_integer_v<scalar_t<T>> |
Trait to detect whether T is scalar-valued with an integer scalar. | |
| template<typename T > | |
| constexpr bool | uni20::is_integer_v = is_integer_t<std::remove_cvref_t<T>>::value |
Convenience alias that exposes the value of is_integer_t. | |
| template<typename T > | |
| constexpr bool | uni20::is_real_or_complex_scalar_valued_v = is_scalar_valued_v<T> && is_real_or_complex_v<scalar_t<T>> |
Trait to detect whether T is scalar-valued with a real or complex scalar. | |
| template<typename T > | |
| constexpr bool | uni20::is_real_or_complex_v = is_real_v<T> || is_complex_v<T> |
| Trait to detect whether a type is a real or complex scalar. | |
| template<typename T > | |
| constexpr bool | uni20::is_real_scalar_valued_v = is_scalar_valued_v<T> && is_real_v<scalar_t<T>> |
Trait to detect whether T is scalar-valued with a real scalar. | |
| template<typename T > | |
| constexpr bool | uni20::is_real_v = is_real_t<std::remove_cvref_t<T>>::value |
Convenience alias that exposes the value of is_real_t. | |
| template<typename T > | |
| constexpr bool | uni20::is_scalar_v = is_real_v<T> || is_complex_v<T> || is_integer_v<T> |
| Trait to detect whether a type is a numeric scalar (real, complex, or integer). | |
| template<typename T > | |
| constexpr bool | uni20::is_scalar_valued_v = !std::same_as<scalar_t<T>, void> |
Trait to detect whether T is scalar-valued. | |