12namespace stratax::core {
23template<
typename L,
typename R>
44template<
typename L,
typename R>
52 using type = std::conditional_t<
62template<
typename L,
typename R>
70 using type = std::conditional_t<
84template<
typename L,
typename R>
94 using signed_type = std::conditional_t<
100 using unsigned_type = std::conditional_t<
106 static constexpr std::size_t signed_bits =
109 static constexpr std::size_t unsigned_bits =
116 static constexpr std::size_t required_bits =
117 signed_bits > unsigned_bits
123 using type = std::conditional_t<
124 (required_bits <= 8),
127 (required_bits <= 16),
130 (required_bits <= 32),
133 (required_bits <= 64),
149template<
typename L,
typename R>
165 using integer_type = std::conditional_t<
172 using floating_type = std::conditional_t<
178 static constexpr int integer_digits =
181 static constexpr int floating_digits =
186 using type = std::conditional_t<
187 (integer_digits <= floating_digits),
190 std::same_as<floating_type, dtype::float32>,
201template<
typename L,
typename R>
209 using type = std::conditional_t<
219template<
typename L,
typename R>
227 using left_component =
230 using right_component =
233 using promoted_component =
249template<
typename L,
typename R>
267 using real_type = std::conditional_t<
273 using complex_type = std::conditional_t<
279 using component_type =
282 using promoted_component =
296template<
typename L,
typename R>
298 std::remove_cvref_t<L>,
299 std::remove_cvref_t<R>
Compile-time metadata for supported dtypes.
typename ComplexComponent< std::remove_cvref_t< T > >::type complex_component_t
Underlying real dtype of a complex dtype.
typename ComplexFromReal< std::remove_cvref_t< T > >::type complex_from_real_t
Complex dtype corresponding to a real floating-point dtype.
std::int32_t int32
Signed 32-bit integer dtype.
double float64
Native double dtype.
std::int8_t int8
Signed 8-bit integer dtype.
std::int16_t int16
Signed 16-bit integer dtype.
std::int64_t int64
Signed 64-bit integer dtype.
Provides compile-time metadata for a supported Stratax dtype.