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
Mateusz Pusz
4c60447a28
Merge branch 'master' into downcast_mode_off
2022-05-09 19:12:02 +02:00
Mateusz Pusz
8b52f46bed
fix: fps can now coexist with international system
...
Resolves #347
2022-05-09 14:01:08 +02:00
Mateusz Pusz
a7f1817c9b
feat: SI prefixes allowed for a yard unit as at least kiloyard is used in some domains
2022-05-09 13:59:56 +02:00
Mateusz Pusz
0033319451
fix: shadowing compilation errors on MSVC fixed
2022-05-05 16:12:54 +02:00
Mateusz Pusz
fbc6744bdb
fix: ω, au, and Da allowed to have SI prefixes
...
Relates to #359
2022-04-27 19:33:44 +02:00
Mateusz Pusz
4361cb874e
fix: hectare definition fixed to be a prefixed version of are + other units
...
Relates to #359
2022-04-27 19:32:21 +02:00
Mateusz Pusz
5d82969e0a
fix: enable SI prefixes for Kelvin
...
Resolves #359
2022-04-26 16:00:20 +02:00
Mateusz Pusz
98da140fae
ci: pre-commit cmake-format checks fixed
2022-04-24 22:55:30 +02:00
Mateusz Pusz
d18bf2229a
test: standalone public headers tests added
2022-04-24 19:59:46 +02:00
Mateusz Pusz
464b4467ee
fix: public headers fixed to be standalone
2022-04-24 19:52:58 +02:00
Mateusz Pusz
56cee31a67
fix: si::hep::dim_momentum duplicated definition fixed
2022-04-24 19:52:07 +02:00
Mateusz Pusz
e62c162610
fix: radioactivity header compilation fixed
2022-04-23 16:52:06 +02:00
Mateusz Pusz
e525c0c892
refactor: knot text symbol changed from "knot" to "kn"
...
Relates to #357
2022-04-19 18:57:06 +02:00
Mateusz Pusz
e660278fa8
feat: nautical_mile_per_hour and knot added to si::international system
...
Relates to #357
2022-04-19 18:49:48 +02:00
Mateusz Pusz
999ff52d70
refactor: knot unit helper renamed to kn in FPS
...
Relates to #357
2022-04-19 18:48:46 +02:00
Mateusz Pusz
a0c6252567
refactor: mi(naut) renamed to nmi
...
Relates to #357
2022-04-19 18:47:48 +02:00
Chip Hogg
44cccfc743
Address review comments
2022-04-09 15:39:29 +00:00
Chip Hogg
2c31bf83ec
Clean up
2022-04-06 02:01:23 +00:00
Chip Hogg
b616e58216
Give up on implicit conversion
...
I don't understand what MSVC is complaining about, and it may end up
being easier to just make the conversion explicit.
2022-04-06 01:40:17 +00:00
Chip Hogg
f77a92ca04
Reproduce requires clause
...
clang appears to care about this.
2022-04-06 00:36:18 +00:00
Chip Hogg
746aa34fcc
Tweak unwise variable names
2022-04-06 00:18:52 +00:00
Chip Hogg
d7681e188e
Support seamless interop between ratio and rational Magnitude
...
We provide two new functions, `numerator(m)` and `denominator(m)`, for a
Magnitude `m`. They fulfill the following conditions:
1. `numerator(m)` and `denominator(m)` are always integer Magnitudes.
2. If `m` is rational, then `m == numerator(m) / denominator(m)`.
If `m` is _not_ rational, then the numerator and denominator are not
especially meaningful (there is no uniquely defined "leftover irrational
part"). However, we choose a convention that matches how humans would
write a mixed number. For example, sqrt(27/16) would have a numerator
of 3, denominator of 4, and a "leftover part" of sqrt(3), matching the
"human" way of writing this as [(3 * sqrt(3)) / 4]. This has no use
yet, but it may later be useful in printing the Magnitude of an
anonymous Unit for end users.
To further reduce friction for the upcoming migration, we provide an
implicit conversion from a Magnitude to a `ratio`. We restrict this
operation to rational Magnitudes, and guard this with a `static_assert`.
2022-04-05 23:03:44 +00:00
Mateusz Pusz
b221dace3f
style: clang-format applied to the remaining files
2022-04-02 21:36:42 +02:00
Markus Hofbauer
cf7a7ed17a
check: run pre-commit on all files
2022-04-02 18:58:23 +02:00
Johel Ernesto Guerrero Peña
146f1d1c83
fix: improve downcast mode off
2022-03-28 10:58:02 -04:00
Johel Ernesto Guerrero Peña
9b19dcf193
refactor(bits): remove unused header in prime.h
2022-03-24 16:57:12 -04:00
Johel Ernesto Guerrero Peña
8491e94c94
refactor(bits): remove unused headers in external/type_list.h
2022-03-23 18:03:44 -04:00
Mateusz Pusz
6483d39762
fix: fill_t assignment operator fixed
2022-03-22 14:51:09 +01:00
Mateusz Pusz
6218a709ae
refactor: first_factor_maybe() replaced with get_first_of()
2022-03-21 18:13:47 +01:00
Mateusz Pusz
b822a149b9
Merge pull request #343 from JohelEGP/cmake_systems
...
build(cmake): fix export name of mp-units-system
2022-03-21 11:50:01 +01:00
Mateusz Pusz
ca283b94f6
refactor: find_first_factor() refactored
2022-03-21 11:16:50 +01:00
Mateusz Pusz
3729a9fe93
Merge pull request #337 from chiphogg/chiphogg/prime-wheel
...
Use wheel factorization for prime numbers
2022-03-21 10:37:05 +01:00
Johel Ernesto Guerrero Peña
94d143ef7e
build(cmake): fix export name of mp-units-system
2022-03-20 09:17:25 -04:00
Chip Hogg
b589ba8d86
Omit redundant computation
...
This stems from an earlier mistake where I was using primes in the first
wheel, rather than coprimes-to-the-basis. 1 is not prime, so we used to
need to handle it separately (in an implementation which was, to be
clear, wrong). It _is_ coprime, so now we get it for free!
2022-03-19 22:10:01 +00:00
Mateusz Pusz
e1f7266b51
refactor: <algorithm.h> header added
...
Should be replaced with `<algorithm>` when C++20 modules will be used. Right now this header is too expensive to compile.
2022-03-19 20:07:55 +01:00
Chip Hogg
6872117bae
Replace reduce with bespoke implementation
...
If _this_ isn't `constexpr` compatible, I'm going to propose removing
support for the MacOS clang build.
2022-03-19 17:35:20 +00:00
Chip Hogg
f495ad9e75
Replace accumulate with reduce
...
Perhaps this will also satisfy Apple's Clang 13? Since `reduce` is
newer, it may be more likely to be `constexpr` compatible.
2022-03-19 17:27:38 +00:00
Chip Hogg
c339383873
Convert names to standard_case
2022-03-19 16:07:39 +00:00
Chip Hogg
48b6280486
Merge branch 'master' into chiphogg/prime-wheel
2022-03-19 16:01:32 +00:00
Chip Hogg
166dd1e944
Work around numbers with very large first factors
...
We introduce the `known_first_factor` variable template.
2022-03-19 15:56:12 +00:00
Chip Hogg
28c4fe3c08
Run clang-format-15 on changed files
2022-03-19 14:29:11 +00:00
Chip Hogg
1e8460d401
Revert "Try upping the basis size further"
...
This reverts commit 87073856a7 .
It didn't fix the problem, and it caused some new ones. We need a
different approach.
2022-03-19 13:21:47 +00:00
Markus Hofbauer
4c127797da
check: run pre-commit on all files
2022-03-18 16:12:21 +01:00
Mateusz Pusz
b58b696e92
style: clang-format formatting improved with additional parenthesis
2022-03-18 09:10:27 +01:00
Mateusz Pusz and Johel Ernesto Guerrero Peña
6531d188d1
Update src/core/include/units/quantity.h
...
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com >
2022-03-18 08:20:43 +01:00
Mateusz Pusz and Johel Ernesto Guerrero Peña
f4fbac86b4
Update src/core/include/units/quantity.h
...
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com >
2022-03-18 08:20:36 +01:00
Mateusz Pusz and Johel Ernesto Guerrero Peña
03290d74a2
Update src/core/include/units/quantity.h
...
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com >
2022-03-18 08:20:27 +01:00