Commit Graph
851 Commits
Author SHA1 Message Date
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