Commit Graph

117 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
caf0e66cb2 test: more unit tests for unit conversions 2023-09-28 09:01:52 +02:00
Mateusz Pusz
94bd2a23ca build: got rid of old gcc hacks 2023-09-26 18:25:03 +02:00
Mateusz Pusz
bfbc1785b8 feat: isq::activity added and becquerel definition updated to benefit from it 2023-09-26 10:37:08 +02:00
Mateusz Pusz
2e26eed59d feat: numerical_value_ref_in disallowed for rvalues 2023-09-13 19:59:49 +02:00
Mateusz Pusz
1c7928021d feat: force_in(U) support added 2023-09-13 10:18:07 +02:00
Mateusz Pusz
a7711cb301 refactor: quantity::value() refactored to quantity::value_ref_in(U) 2023-09-13 09:23:59 +02:00
Mateusz Pusz
b6bc9434d0 fix: quantity.in(U) fixed to clone a reference from the source type 2023-09-04 12:27:49 +02:00
Mateusz Pusz
2bfc282483 test: missing units tests for quantity::one() aded 2023-08-31 19:01:13 +02:00
Mateusz Pusz
f1c2c74ab0 refactor: quantity::value() renamed to quantity::numerical_value()
According to https://jcgm.bipm.org/vim/en/1.19.html "quantity value" also contains a unit. According to https://jcgm.bipm.org/vim/en/1.20.html "numerical value" is the correct term for just a number.

Resolves #423
2023-08-30 11:30:35 +02:00
Mateusz Pusz
624b7c7404 fix: some fixes revealed during clang compilation 2023-08-24 19:14:23 +02:00
Mateusz Pusz
a9204e2473 refactor: number() and number_in() renamed to value() and value_in()
Resolves #423
2023-08-23 17:15:32 +02:00
Mateusz Pusz
ae92b49775 refactor: op[U] for quantity and quantity_point replaced with .in(U)
Resolves #469
2023-08-23 16:46:15 +02:00
Mateusz Pusz
110986ee1f feat: quantity_cast<kind_of_qs>(associated_unit) now returns the bare unit as a reference 2023-08-18 11:11:29 +02:00
Mateusz Pusz
571bf47b95 test: quantity_test cleanup 2023-08-01 12:01:12 +02:00
Mateusz Pusz
a6e4851efe test: more binary operators tests added for quantity 2023-08-01 12:00:35 +02:00
Mateusz Pusz
5d73cd0730 feat: dimensionless quantities with a unit one are not special anymore 2023-07-10 16:53:49 +02:00
Mateusz Pusz
ba1f58af76 refactor: All the macros refactored to have MP_UNITS_ prefix 2023-06-21 18:05:21 +02:00
Mateusz Pusz
7774466c1c fix: clang-17 specific compilation fixes (partially contributed by @JohelEGP) 2023-06-16 14:54:22 +03:00
Mateusz Pusz
52ab3f1535 refactor: SI units do not depend on the entire ISQ anymore + header dependency compilation fixes 2023-06-15 14:37:22 +03:00
Mateusz Pusz
a6434e6b60 test: some checks from the old v2_framework example moved to proper unit tests 2023-06-05 11:12:34 +02:00
Mateusz Pusz
52bbd00ab4 style: clang-format new rules applied to the code base 2023-05-26 14:20:00 +02:00
Mateusz Pusz
7d9ae3ec31 refactor: mp_units subdirectory renamed to mp-units 2023-05-25 12:47:10 +02:00
Mateusz Pusz
2bb8e4e739 test: quantity tests updated 2023-04-21 15:22:14 +01:00
Mateusz Pusz
7ef8193dfc fix: modulo operation logic fixed 2023-04-10 19:46:50 +02:00
Mateusz Pusz
40f6ae2da7 refactor: quantity refactored + quantity_test updated to reflect and test changes 2023-04-05 17:24:08 +02:00
Mateusz Pusz
0ebf85b9db fix: unknown_coherent_unit fixed 2022-08-01 11:59:00 +02:00
Johel Ernesto Guerrero Peña
e988e1d74e refactor: update hacks for LLVM 16 2022-07-29 17:17:07 -04: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
ef9e6522ca Merge branch 'master' into chiphogg/switch-to-mag 2022-06-15 20:50:30 +00:00
Mateusz Pusz
768f400cc3 test: quantity CTAD tests enabled only for the newest compilers 2022-05-23 09:56:45 +02:00
Mateusz Pusz
4498adce7c test: test for new quantity CTAD guide added 2022-05-22 19:49:10 +02:00
Chip Hogg
5fb468697b Merge branch 'master' into chiphogg/switch-to-mag 2022-05-12 16:12:01 +00:00
Mateusz Pusz
4c60447a28 Merge branch 'master' into downcast_mode_off 2022-05-09 19:12:02 +02:00
Mateusz Pusz
ffa0f321f9 fix: shadowing compilation errors on MSVC fixed 2022-05-06 10:00:39 +02: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
Johel Ernesto Guerrero Peña
146f1d1c83 fix: improve downcast mode off 2022-03-28 10:58:02 -04:00
Johel Ernesto Guerrero Peña
feb1a0b860 test(static): simplify quotient_remainder_theorem test cases 2022-03-21 14:29:50 -04:00
Johel Ernesto Guerrero Peña
3f145a25db refactor: update hacks for LLVM 15 2022-02-07 21:07:22 -04:00
Johel Ernesto Guerrero Peña
4efed3c6d4 refactor: update Clang 14 to not require range-v3 (#321)
* Revert "refactor: update hacks for LLVM 14"

This reverts commit d142844de7.

* refactor: update Clang 14 to not require range-v3
2021-12-13 10:01:16 +01:00
Mateusz Pusz
ca3d111579 fix: CTAD test disabled for most of the compilers 2021-10-20 20:18:15 +02:00
Mateusz Pusz
240ec3a460 build: CTAD for quantity is not supported by clang 2021-10-20 19:58:31 +02:00
Mateusz Pusz
b7b8a0bf93 fix: CTAD for aliases fixed 2021-10-20 18:52:13 +02:00
Mateusz Pusz
120d863c40 test: derived_quantity-related compilation error fixed 2021-09-09 09:26:23 +02:00
Ralph J. Steinhagen
322cde70b9 added HEP specific units and definitions
in accordance with https://www.bipm.org/documents/20126/41483022/SI-Brochure-9.pdf#page=147

see also disccusion thread #292
2021-08-03 10:56:47 +02:00
Ralph J. Steinhagen
8e1539bf22 added inheritance unit-test and made is_quantity<T> more specific 2021-06-29 20:31:06 +02:00
Mateusz Pusz
1783d243da fix: quantity modulo arithmetics fixed
Resolves #231
2021-05-11 15:03:04 +02:00
Mateusz Pusz
6d39459cbc perf: rvalue references support added for constructors and getters
Resolves #275
2021-05-03 19:44:50 +02:00