Commit Graph

47 Commits

Author SHA1 Message Date
Mateusz Pusz
2e26eed59d feat: numerical_value_ref_in disallowed for rvalues 2023-09-13 19:59:49 +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
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
24803a96cc feat: math trigonometric functions can now be called with integral quantities
Relates to #485
2023-08-29 16:05:48 +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
5d73cd0730 feat: dimensionless quantities with a unit one are not special anymore 2023-07-10 16:53:49 +02:00
Mateusz Pusz
52ce2b21f7 refactor: iostream.h renamed to ostream.h 2023-06-23 15:03:04 +02:00
Mateusz Pusz
7d9ae3ec31 refactor: mp_units subdirectory renamed to mp-units 2023-05-25 12:47:10 +02:00
Mateusz Pusz
8da791f8ba refactor(unit test): math tests refactored to not use removed constructor 2023-04-03 18:07:10 +02:00
Mateusz Pusz
83aee04da0 refactor: quantity_io.h renamed to iostream.h 2023-02-03 16:57:48 +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
2a3e1f6035 refactor: angular system created 2022-12-25 17:32:29 +01:00
Mateusz Pusz
a96c34c17a fix: exp() implementation fixed 2022-12-19 12:49:15 +01:00
Mateusz Pusz
91f26759d6 refactor: more unit tests refactored 2022-12-01 20:59:16 +01:00
Mateusz Pusz
d0eceefe80 refactor: dead ratio code removed 2022-09-06 23:49:16 +02:00
Mateusz Pusz
a95cb53f73 test: unit tests for trigonometric functions added 2022-09-01 16:25:33 +02:00
Mateusz Pusz
707b39f0c4 build: catch2 updated to 3.1.0 2022-09-01 16:19:51 +02:00
Mateusz Pusz
a1e1b70b92 test: Unit tests for 3-argument hypot added 2022-08-03 13:35:18 +02:00
Mateusz Pusz
4c8b3ce290 test: Commented out ceil unit test enabled as it works correctly now 2022-08-03 13:12:24 +02:00
Mateusz Pusz
b252da0fe1 test: hypot unit tests added 2022-08-03 13:10:59 +02:00
Mateusz Pusz
144f6951c0 style: all files refromatted with clang-format 2022-03-17 23:59:48 +01:00
Markus Hofbauer
4cd90674d5 Feat: Round (#313)
* feat: round

* add more constraints for round

* overload round for quantity

* fix clang tidy

* Validate types before return
2021-11-15 18:53:15 +01:00
Markus Hofbauer
50b9050d6b Feat: Overloads for floor and ceil accepting quantities (#314)
* feat: overloads for floor and ceil accepting quantities

* require same type for dim and rep

* be specific for msvc
2021-11-15 12:23:28 +01:00
Markus Hofbauer
b881b56480 feat: first draft ceil 2021-11-13 16:50:55 +01:00
Markus Hofbauer
e82bfa23a5 Feat: Floor (#309)
* feat: first draft floor

* apply review feedback and move to desired files

* implement floor considering float types

* reduce code duplication

* apply review feedback and improve docstring

* enable static floor tests for gcc only

* Use recommended feature-test macro

* add floor runtime unittests

* apply review feedback

* make lambda const
2021-11-13 12:17:43 +01:00
Mateusz Pusz
ed1b2d2647 fix: Some MSVC-specific special cases removed 2021-09-23 19:16:44 +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
901b09fd52 refactor: quantity::count() renamed to quantity::number()
Resolves #259
2021-03-19 06:47:37 +01:00
Mateusz Pusz
bbbb77286c refactor: physical replaced with isq
Refers to #249
2021-03-16 12:03:25 +01:00
Mateusz Pusz
23720d055e refactor: Refactored the library file tree
Resolves #249
2021-03-16 09:32:28 +01:00
Mateusz Pusz
5c94a40906 build: COMP_XXX renamed to UNITS_COMP_XXX 2021-03-15 21:13:21 +01:00
dkavolis
23dd21465d rational powers 2020-12-29 17:04:38 +01:00
Mateusz Pusz
008dec79ea refactor: si.h usage limited 2020-12-28 14:34:27 +01:00
Mateusz Pusz
2a56438f1c refactor: file tree with systems defninitions refactored to limit ODR issues
Relates to #32 as with this commit we created something like modules for derived quantities
2020-09-11 18:11:25 +02:00
Mateusz Pusz
9527b39005 refactor: 💥 q_* UDL renamed to _q_*
We had some fun exploring the STD UDLs for potential collisions,
we have learnt our lesson and know how to proceed.
Now is high time to start behaving and obeying C++ rules.
2020-09-09 19:20:35 +02:00
Mateusz Pusz
563b358d5e feat!: 💥 dimensionless quantities refactored
Dimensionless quantities are now represented by quantity types rather
than by plain representation types. Only dimensionless quantities with
`unitless` unit are implicitly convertible from representation types.

`units::exp()` now is a function doing std::exp() on a representation
type (previous `units::exp` class template was renamed to
`units::exponent`).

BREAKING_CHANGE: gcc-9.3 support removed
BREAKING_CHANGE: `exp` and `Exp` renamed to `exponent` and `Exponent`
Resolves #27
Resolves #42
2020-09-08 11:02:16 +02:00
Mateusz Pusz
7e935a4108 Physical units put in the physical namespace (I am sorry) 2020-05-08 22:39:24 +02:00
Mateusz Pusz
ac0f10184c fabs() removed as abs() is enough 2020-05-06 18:17:49 +02:00
Mike Ford
a8ca425e2d Added absolute functions (abs, fabs) and epsilon. 2020-05-06 13:21:31 +02:00
Mateusz Pusz
18620044c5 All UDLs are now prefixed with q_ 2020-02-17 15:56:06 +01:00
Mateusz Pusz
a01c811f5f Square and cubic UDLs renamed 2020-01-09 10:03:41 +01:00
Mateusz Pusz
bc1901f4f0 Text formatting enabled + directory tree refactoring 2019-12-11 08:07:13 +01:00
Mateusz Pusz
8543ab65d1 pow<0> support added 2019-10-19 20:51:20 +02:00
Mateusz Pusz
9a9abca81d Text output support added for quantity 2019-10-16 17:04:41 +02:00
Mateusz Pusz
527927e905 pow<3>() check added to the math uni test 2019-10-15 11:27:39 +02:00
Mateusz Pusz
3475f5193e Catch2 support added (resolves #8) 2019-10-14 10:53:02 +02:00