Chip Hogg
10b553bdbe
Adapt Aurora's Magnitude docs for mp-units
...
The major missing work here is to see how the latex math, inside dollar
signs, translates to the docs.
I also added a new constant, `pi`, to make the docs correct: this should
be much more user friendly.
This is not intended to be "complete". Rather, the goal is to deliver
the raw content so that experts can massage it.
2022-08-04 19:13:53 +00:00
Mateusz Pusz
4e044c4e43
refactor: hypot was overconstrained
2022-08-03 13:51:18 +02:00
Mateusz Pusz
4313df390c
refactor: hypot refactored to use variadic common_type version
2022-08-03 13:34:45 +02:00
Mateusz Pusz
dd4679459d
feat: hypot support added
2022-08-03 12:29:49 +02:00
Mateusz Pusz
9aa3fd4d00
fix: prefixed_alias_unit constraints fixed
2022-08-03 11:29:20 +02:00
Mateusz Pusz
0ebf85b9db
fix: unknown_coherent_unit fixed
2022-08-01 11:59:00 +02:00
Mateusz Pusz
bb5c02e09e
fix: Quantity inversion operation fixed
...
Resolves #367
2022-08-01 10:03:55 +02:00
Mateusz Pusz
5bd378a835
refactor: base_units_ratio.h renamed to absolute_magnitude.h
2022-07-31 15:45:40 +02:00
Mateusz Pusz
d50ed286b3
Merge pull request #381 from JohelEGP/llvm16
...
refactor: update hacks for LLVM 16
2022-07-30 10:49:44 +02:00
Johel Ernesto Guerrero Peña
e988e1d74e
refactor: update hacks for LLVM 16
2022-07-29 17:17:07 -04:00
Chip Hogg
f6f7f9bafb
Explicitly qualify mag<> that initializes mag member
...
This should fix clang's complaint.
2022-07-29 14:18:33 +00:00
Chip Hogg
ea83af8aa9
Rename as_magnitude<...>() to mag<...>()
...
This is easier to write and to read.
2022-07-29 01:46:06 +00:00
Chip Hogg
0adee83866
Use mag_power to make callsites more concise
2022-07-27 14:30:38 +00:00
Chip Hogg
7e591115fa
Remove ratio's numerator() and denominator()
...
These have now become trivial.
2022-07-20 00:52:37 +00:00
Chip Hogg
7fd6913b73
Replace exp with 0 everywhere, and remove it
...
This lets us remove a ton of special-casing throughout the codebase, and
just generally makes things a lot simpler.
We also remove the ability to take rational powers of `ratio`, including
`sqrt` and `cbrt` helpers, because these are intrinsically ill-defined.
Fixes #369 .
2022-07-20 00:52:37 +00:00
Chip Hogg
e1a173a02d
Migrate prefixes to Magnitude
2022-07-07 17:09:42 +00:00
Chip Hogg
92750072b0
Reimplement ratio_text() as magnitude_text()
...
The algorithm is exactly the same; we just get our values for
`num_value`, `den_value`, and `exp10` in different ways.
The old printing logic assumed the ratio/Magnitude was an exact rational
number. Formerly, we couldn't even _represent_ anything else, but with
Magnitude, we can. Thus, we guard this assumption with a
`static_assert`. Later on, we can figure out how we want to print
irrational bases and/or rational powers. The point of this change is to
unblock us from moving to the new infrastructure.
2022-07-07 16:44:19 +00:00
Chip Hogg
e1a17ab1f0
Use variables instead of ratio members
...
This prepares us for a time when we won't _have_ the `ratio` members
(because we'll be using `Magnitude`).
2022-07-07 16:33:51 +00:00
Chip Hogg
407a13c48f
Add extract_power_of_10(Magnitude) utility
...
This will help with pretty-printing magnitudes by extracting a
reasonable power of 10.
2022-07-07 16:10:34 +00:00
Chip Hogg
f004854a9e
Remove useful names to appease MSVC 14
...
Looks like another compiler bug, where it considers a formal parameter
to be "unused" if it isn't used in any `if constexpr` branch.
2022-06-15 21:44:27 +00:00
Chip Hogg
ef9e6522ca
Merge branch 'master' into chiphogg/switch-to-mag
2022-06-15 20:50:30 +00:00
Mateusz Pusz
f5e6d052ad
fix: MSVC compilation error workaround
2022-06-09 13:50:41 +02:00
Mateusz Pusz
46b3781743
Revert "refactor: 💥 ! " ⋅ " replaced with "⋅" in derived unit symbols"
...
This reverts commit db09a065ab .
2022-05-24 14:20:17 +02:00
Mateusz Pusz
38fb9911a9
refactor: 💥 ! " ⋅ " replaced with "⋅" in derived unit symbols
2022-05-24 12:56:14 +02:00
Mateusz Pusz
db09a065ab
refactor: 💥 ! " ⋅ " replaced with "⋅" in derived unit symbols
2022-05-24 12:48:07 +02:00
Mateusz Pusz
ef7e7c4cfc
refactor: detail::same_scaled_units renamed to detail::compatible_units
2022-05-23 20:47:29 +02:00
Mateusz Pusz
842f2eaf27
feat: quantity CTAD guide added
2022-05-22 19:47:11 +02:00
Mateusz Pusz
43844c484c
fix: UNITS_MSVC_WORKAROUND() fixed for other compilers
2022-05-14 11:27:12 +02:00
Mateusz Pusz
b559a5f98f
fix: explicit ratio creation added as a workaround for MSVC
2022-05-14 11:24:00 +02:00
Mateusz Pusz
6c1062e166
fix: UNITS_MSVC_WORKAROUND() added
2022-05-14 11:22:09 +02:00
Chip Hogg
86b81c9384
Undo misguided fix attempt
2022-05-12 21:53:51 +00:00
Chip Hogg
2bdc778ab6
Constrain template
2022-05-12 18:19:20 +00:00
Chip Hogg
f36205f08d
Capture NTTP in variable
...
This should make it OK for MSVC to take the address, working around a
compiler bug.
2022-05-12 18:17:35 +00:00
Chip Hogg
88a69cecd8
Try fixing build
...
Unfortunately, my local build hangs, so I can't tell whether this works.
2022-05-12 18:02:47 +00:00
Chip Hogg
a0ac140a19
Merge fixes into branch after updating with upstream changes
2022-05-12 16:54:48 +00:00
Chip Hogg
59fa420272
Fix remaining builds/tests
2022-05-12 16:52:05 +00:00
Chip Hogg
5fb468697b
Merge branch 'master' into chiphogg/switch-to-mag
2022-05-12 16:12:01 +00:00
Mateusz Pusz
0765fb26a2
fix: MSVC complains that an address of NTTP is taken here
2022-05-12 10:55:48 +02:00
Mateusz Pusz
0ed43d3087
fix: restoring original as_magnitude implementation as it was correct
2022-05-11 23:58:30 +02:00
Mateusz Pusz
54489a57b2
refactor: missing constraints on a return type added
...
Implementation verification and interface documentation purposes
2022-05-11 22:56:58 +02:00
Mateusz Pusz
b3afd61b2d
refactor: duplicated concepts checks removed to improve compile times
...
`magnitude` template parameters are already checked during `magnitude` type instantiation.
2022-05-11 22:55:55 +02:00
Mateusz Pusz
104923d1aa
refactor: as_ratio() constrain simplified
2022-05-11 22:52:40 +02:00
Mateusz Pusz
bd5a476bab
fix: pow<> requires a ratio as a template argument
...
Thank you @Nostracodus and @TartanLlama !
2022-05-11 22:52:03 +02:00
Mateusz Pusz
7737167d1d
fix: unit symbol text output unit tests fixed
2022-05-11 18:10:51 +02:00
Mateusz Pusz
5300caf17b
refactor: 💥 ! derived_deduced_unit renamed to derived_scaled_unit
...
Naming is hard ;-)
2022-05-11 12:34:52 +02:00
Mateusz Pusz
32b36fb670
refactor: 💥 ! PrefixFamily support removed
...
It doesn't have much sense to restrict prefixes usage for most units and in many places we were wrong to do so already.
2022-05-11 11:59:33 +02:00
Mateusz Pusz
725d193122
refactor: 💥 ! U::is_named removed from the unit types and replaced with NamedUnit concept
2022-05-11 11:49:14 +02:00
Mateusz Pusz
0522bae972
refactor: 💥 ! unit renamed to derived_unit
2022-05-11 11:40:19 +02:00
Mateusz Pusz
f5d21a0711
refactor: 💥 ! derived_unit renamed to derived_deduced_unit
2022-05-11 11:23:18 +02:00
Mateusz Pusz
8d0b643bb3
refactor: 💥 !named_derived_unit removed as it was not used
2022-05-11 11:10:15 +02:00