Mateusz Pusz

Results 99 issues of Mateusz Pusz

I just played with a simple example: ```cpp inline constexpr struct fuel_consumption final : quantity_spec {} fuel_consumption; inline constexpr auto l_per_100km = si::litre / (mag * si::kilo); quantity q1 =...

enhancement
design

For example the following should be supported (as much as possible): ```cpp template concept complex_operations = requires(Q voltage_phasor, Q electric_current_phasor, Q phase_angle, Q complex_power, Q apparent_power, Q active_power, Q reactive_power,...

enhancement
design

https://en.cppreference.com/w/cpp/language/pack_indexing

enhancement

The latest packages on Ubuntu don't support base < 4.15. Running with `cabal build --allow-newer=base` also didn't help. Would it be possible to update the repo to the latest toolchain...

For quantities, we allow arithmetic between different quantity types: ```cpp quantity q = isq::height(1 * m) + isq::width(1 * m); // results with `isq::length(2 * m)` ``` We had something...

design

A long time ago, one of the contributors changed the `Quantity` concept to allow also classes derived from the `quantity` class template. At this point, I thought this idea was...

iso
refactor
design

P2900 is a part of C++26 draft now 🎉 Use contracts as soon as they are provided by some compilers.

enhancement
gated

1. Experiment with `constexpr` exceptions to check if we can provide more meaningful diagnostics for compile-time errors. 2. As of today `constexpr` function that throws is not SFINAE-friendly, but maybe...

enhancement
design

Such constants could have superpowers. They could implicitly convert to a quantity and provide additional compile-time overflow protection as discussed in [#669](https://github.com/mpusz/mp-units/issues/669#issuecomment-2614324834)_ One possible problem is to decide which representation...

design

As of today, `mag_constant` requires a value of `long double` (e.g., for `pi`). However, it might not be a good option for embedded projects. Should we change the requirement to...

enhancement
design