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
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
2b37bc7b3e
Address review feedback
2022-04-19 15:42:43 +00:00
Chip Hogg
94fe48dd64
Add <compare> to satisfy clang
2022-04-12 00:44:53 +00:00
Chip Hogg
c805a9390f
Implement suggestion
2022-04-12 00:40:42 +00:00
Chip Hogg
78bcb3b019
Remove troublesome ::ratio members
...
For some reason, MSVC seems to want to instantiate these, even though
nobody ever asks for them (as evidenced by the fact that the builds
passed on other architectures).
2022-04-12 00:35:17 +00:00
Chip Hogg
7a03692e14
Annotate 225'653'407'801 as prime
2022-04-12 00:32:24 +00:00
Chip Hogg
d19b2803ce
Migrate units from ratio to Magnitude
...
This commit is huge, but hopefully the cognitive load is not too bad.
The bulk of this commit is just some fairly mechanical updates from
`ratio` to `Magnitude`. Other things to call out:
- `UnitRatio` goes away. We don't need this concept, because Magnitude
can't even _represent_ anything that doesn't satisfy it.
- I commented out some formatting test cases where the precise
expression changes, but the number is completely equivalent. We will
need to decide how we want to handle Magnitude formatting as a
separate, follow-on task. But at least Magnitude gives us all the
tools we'll need to do so!
2022-04-11 15:16:16 +00:00
Chip Hogg
5afe7766e9
Use Magnitude implementation for base_units_ratio
...
This resolves a TODO and lets us use arbitrary exponent denominators.
I also attempt to clarify the semantics. This is based on my best
effort of understanding pre-existing concepts in the library, so I hope
I got it right!
2022-04-11 15:16:16 +00:00
Chip Hogg
5c0eb0667c
Remove inverse_if_negative()
...
Fixes #332 .
2022-04-11 15:16:16 +00:00
Chip Hogg
85d6e35d79
Loosen requirements on Rep for Magnitude
...
This is necessary to be able to use Magnitudes in Units with a Rep that
is not `std::is_arithmetic`.
2022-04-11 15:16:16 +00:00
Chip Hogg
af8eec1102
Implement "common Magnitude" of two Magnitudes
2022-04-11 15:16:15 +00:00
Chip Hogg
bc98254e7a
Support - and <=> in ratio
2022-04-11 15:16:15 +00: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