25 Commits

Author SHA1 Message Date
Mateusz Pusz
cfc90f4aac refactor: 💥 basic_concepts, quantity and quantity_cast refactored
BREAKING CHANGE:  ScalableNumber renamed to QuantityValue

Resolves #107
2020-10-06 18:17:52 +02:00
Mateusz Pusz
6e510b3a2a refactor: modules-like behavior for systems removed to improve broken compile-time
Reffers to #32
2020-09-13 00:11:02 +02: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
58daacfd58 fix: unit tests fixed for DOWNCAST_MODE = OFF 2020-09-10 11:33:58 +02:00
Mateusz Pusz
d24363af98 Revert "refactor: squared units use *2 now instead of sq_* prefix"
This reverts commit dcc2d24c8e.
2020-09-10 11:26:41 +02:00
Mateusz Pusz
e367afed71 Merge branch 'downcasting_2.0' 2020-09-09 20:31:03 +02:00
Mateusz Pusz
dcc2d24c8e refactor: squared units use *2 now instead of sq_* prefix 2020-09-09 19:53:48 +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
9a49df7222 refactor: 💥 Scalar concept renamed to ScalableNumber
Resolves #114
2020-09-08 21:17:09 +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
5c98924efb Downcasting reworked to allow OFF and AUTO modes 2020-08-19 13:37:57 +02:00
Mateusz Pusz
9f94a73bba Custom is_same implementation added 2020-06-29 20:30:59 +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
18620044c5 All UDLs are now prefixed with q_ 2020-02-17 15:56:06 +01:00
Mateusz Pusz
037503cbc6 deduced_unit fixed + unit test for mass unit added 2020-02-10 20:35:32 +01:00
Mateusz Pusz
2c29af9670 Custom unit and data tests enabled 2019-12-07 18:33:55 +01:00
Mateusz Pusz
0125bd7762 Derived unit factory helpers refactored 2019-11-08 16:51:45 +00:00
Mateusz Pusz
91bcfedf1e Deduced units symbols refactoring started 2019-11-04 06:45:56 +00:00
Mateusz Pusz
987ab86439 Added support for prefixes of non-coherent units 2019-10-18 22:36:57 +02:00
Mateusz Pusz
b864461636 Prefixed units support redesigned 2019-10-18 15:34:46 +02:00
Mateusz Pusz
3e30c779a6 coherent_derived_unit and custom prefixes support added 2019-10-17 10:16:44 +02:00
Mateusz Pusz
5082aaaf70 'todo' -> 'TODO' refactoring 2019-10-15 19:05:40 +02:00
Mateusz Pusz
d31d2cf439 Base dimensions refactored
-
2019-10-15 19:03:45 +02:00
Mateusz Pusz
b889c81cb9 Short name added to derived unit definition 2019-10-15 11:32:59 +02:00
Mateusz Pusz
3475f5193e Catch2 support added (resolves #8) 2019-10-14 10:53:02 +02:00