Commit Graph

75 Commits

Author SHA1 Message Date
Mateusz Pusz
b2423bfded feat: quantities can now be multiplied and divided by units 2023-09-29 21:40:24 -06:00
Mateusz Pusz
9696e7466b test: unused defintions removed from tests 2023-08-24 19:15:05 +02:00
Mateusz Pusz
16ad71a31a test: more tests for pow added for units and quantity specs 2023-06-13 09:21:07 +03:00
Mateusz Pusz
f853f1f4ef fix: magnitudes division fixed when units are divided 2023-06-08 19:08:41 +02:00
Mateusz Pusz
f5e9b42fe1 fix(unit test): missing header file added 2023-06-08 19:07:52 +02:00
Mateusz Pusz
7a730fde58 refactor: constant_unit abstraction removed and replaced with regular named_unit 2023-06-05 19:36:22 +02:00
Mateusz Pusz
03b58ee073 refactor: square and cubic are now functions (not variable templates) 2023-06-01 08:45:41 +02:00
Mateusz Pusz
7d9ae3ec31 refactor: mp_units subdirectory renamed to mp-units 2023-05-25 12:47:10 +02:00
Mateusz Pusz
1e28c11cfc refactor: convertible_to(U1, U2) renamed to convertible(U1, U2) 2023-05-14 12:43:26 +02:00
Mateusz Pusz
c807ba31be feat: quecto, ronto, ronna, quetta prefixed versions of unit symbols added 2023-04-08 19:54:31 +02:00
Mateusz Pusz
e353bb3436 refactor(unit test): support for new features added to unit and dimension unit tests 2023-02-13 19:07:16 +01:00
Mateusz Pusz
cf3408a3c8 refactor: implementation cleanup + support for units as references started 2023-02-02 14:56:29 +01:00
Mateusz Pusz
622b3e3cbd test: unit_symbol() tests moved to a dedicated separate test file 2023-01-28 11:11:07 +01:00
Mateusz Pusz
2cf736a1e6 feat: preventing possible future units crash when using namespace std;
Resolves #317
2022-12-29 20:18:48 +01:00
Mateusz Pusz
6b72dd39c1 refactor: headers with system definitions moved to _systems_ subdirectory 2022-12-29 19:27:54 +01:00
Mateusz Pusz
07687f9ef6 refactor: _generic/dimensionless.h_ removed (units added to _unit.h_) 2022-12-25 17:14:54 +01:00
Mateusz Pusz
92c70f1a4e feat: quantity_spec support added 2022-12-16 18:15:48 +01:00
Mateusz Pusz
91f26759d6 refactor: more unit tests refactored 2022-12-01 20:59:16 +01:00
Mateusz Pusz
14952dfbf4 refactor(unit test): speed_of_light_unit renamed to speed_of_light_in_vacuum_unit in unit_test 2022-11-10 14:42:44 -10:00
Mateusz Pusz
d75f22ecc4 feat: constant_unit support added 2022-11-10 09:55:43 -10:00
Mateusz Pusz
3d536fb82b refactor: Unicode symbols directly provided in the code 2022-11-09 22:53:27 -10:00
Mateusz Pusz
f2e63fdeb1 refactor: std::common_type usage replaced with dedicated functions for units, dimensions, and references 2022-11-09 18:39:51 -10:00
Mateusz Pusz
61b88b919f refactor: convertible() renamed to interconvertible() 2022-11-08 10:57:05 -10:00
Mateusz Pusz
7e09a5f810 test: more static unit tests added 2022-11-07 16:19:42 -10:00
Mateusz Pusz
e3863e8f8d refactor: unit_symbol_denominator renamed to unit_symbol_solidus 2022-11-07 16:18:11 -10:00
Mateusz Pusz
4938e9d5c0 feat: Added support for natural units-like systems + dimension_one cleanup 2022-11-04 19:29:05 +01:00
Mateusz Pusz
cb861dd81a feat: system's definition highly simplified by removing the need for a system_reference for most cases 2022-10-25 07:27:08 +02:00
Mateusz Pusz
8dcdc7bdac fix: printing of symbols with fractional powers fixed 2022-10-23 22:19:44 +02:00
Mateusz Pusz
e7bebac2a7 feat: power<Num, Den>() support added for dimensions and units 2022-10-23 10:47:12 +02:00
Mateusz Pusz
08b7716f51 feat: std::common_type support for unit added 2022-10-22 20:59:44 +02:00
Mateusz Pusz
17036cb2d0 feat: unit symbol text output support added 2022-10-22 19:27:39 +02:00
Mateusz Pusz
0b9b159695 fix: units design refactored and fixed 2022-10-20 14:03:15 +02:00
Mateusz Pusz
6d898957ab docs: invalid comment text fixed 2022-10-18 22:55:58 +02:00
Mateusz Pusz
a5c7934e0e refactor: units nearly done 2022-10-18 21:24:09 +02:00
Mateusz Pusz
4a49bdda05 refactor: V2 design update 2022-10-06 23:43:01 +01: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
6a9dcb30de Migrate explicit-exp inputs 2022-07-20 00:52:36 +00:00
Chip Hogg
5fb468697b Merge branch 'master' into chiphogg/switch-to-mag 2022-05-12 16:12:01 +00: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
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
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
5e365f1905 Delete obsolete test case 2022-04-11 15:16:16 +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
Mateusz Pusz
b221dace3f style: clang-format applied to the remaining files 2022-04-02 21:36:42 +02:00
Mateusz Pusz
8e88f06380 refactor: *deduced_unit renamed to *derived_unit 2021-05-10 15:56:48 +02:00
Mateusz Pusz
37cfc53d1d refactor: IWYU applied to the source files
`alternative_namespaces` examples left out as I consider them a subject for removal in the nearest future.
2021-03-30 13:21:05 +02:00
Mateusz Pusz
bbbb77286c refactor: physical replaced with isq
Refers to #249
2021-03-16 12:03:25 +01:00
Mateusz Pusz
5c94a40906 build: COMP_XXX renamed to UNITS_COMP_XXX 2021-03-15 21:13:21 +01:00