Mateusz Pusz
08b7716f51
feat: std::common_type support for unit added
2022-10-22 20:59:44 +02:00
Mateusz Pusz
b78abce0ae
fix: invalid assertions fixed
2022-10-22 20:19:51 +02:00
Mateusz Pusz
7e18694790
refactor: gsl_Assert replaced with gsl_Expects
2022-10-22 19:31:20 +02:00
Mateusz Pusz
17036cb2d0
feat: unit symbol text output support added
2022-10-22 19:27:39 +02:00
Mateusz Pusz
17fd0900a4
refactor: expression template operations now take function parameters
2022-10-22 09:02:40 +02:00
Mateusz Pusz
914d24a903
refactor: not empty constraints added for defining a symbol
2022-10-21 23:13:10 +02:00
Mateusz Pusz
fddc3480a9
feat: copy algorithm added
2022-10-21 23:11:25 +02:00
Mateusz Pusz
4b83b3a2ee
refactor: text_tools made consteval and [[nodiscard]]
2022-10-21 23:10:56 +02:00
Mateusz Pusz
b734880903
refactor: standard renamed to unicode in basic_symbol_text
2022-10-21 23:10:12 +02:00
TheCoconutChef
136af48e70
fix: constraint recursion for gcc11 on operator/
...
A similar fix was applied in 417f842585
for the operator*.
Following discussion in https://github.com/mpusz/units/issues/398 , it
seems appropriate to apply it for operator/.
Other operators (+, -, %) do not seem to suffer from the same problem.
2022-10-20 12:00:18 -04:00
Mateusz Pusz
5a7f58be41
fix: Added a special case for multiplication of opposite magnitude exponents
2022-10-20 14:05:20 +02:00
Mateusz Pusz
0b9b159695
fix: units design refactored and fixed
2022-10-20 14:03:15 +02:00
Mateusz Pusz
c3c0879257
refactor: DimensionSpec concept renamed to DerivedDimensionSpec
2022-10-19 20:44:12 +02:00
Mateusz Pusz
aa33964782
refactor: expression templates engine refactored
2022-10-19 19:56:35 +02:00
Mateusz Pusz
8246b06b4a
feat: type_list_element, type_list_back added; type_list_split refactored
2022-10-19 19:39:18 +02:00
Mateusz Pusz
5975e4c1cc
refactor: named_unit<S, U> should inherit from U to for a correct inheritance hierarchy
2022-10-19 13:16:59 +02:00
Mateusz Pusz
8793aeec23
feat: convertibility check added for the target unit in the system_reference
2022-10-19 13:16:10 +02:00
Mateusz Pusz
ec1dace1f9
feat: PrefixableUnit concept introduced
2022-10-19 13:15:02 +02:00
Mateusz Pusz
f156bc4c71
test: type_list unit tests added
2022-10-19 12:23:04 +02:00
Mateusz Pusz
98a19f6b4c
feat: dimensions design is now complete
2022-10-19 11:21:15 +02:00
Mateusz Pusz
03e064fccd
feat: equivalent support removed
2022-10-18 22:57:02 +02:00
Mateusz Pusz
a5c7934e0e
refactor: units nearly done
2022-10-18 21:24:09 +02:00
Mateusz Pusz
6e8ca72678
refactor: dimensions design cleanup
2022-10-18 17:52:52 +02:00
Mateusz Pusz
3194d45b08
refactor: exposition only members added to expression templates
2022-10-18 17:44:40 +02:00
Mateusz Pusz
6a6fda1837
style: SI unit symbols definition cleanup
2022-10-18 16:09:35 +02:00
Mateusz Pusz
e83b361465
refactor: explicit(false) added for basic_symbol_text
2022-10-18 16:08:22 +02:00
Mateusz Pusz
cf0a770d9b
refactor: quantity arithmetics implemented
2022-10-09 21:32:38 +01:00
Mateusz Pusz
4a49bdda05
refactor: V2 design update
2022-10-06 23:43:01 +01:00
Johel Ernesto Guerrero Peña
a4183739ad
refactor: make typename optional for Clang 16
2022-10-01 10:12:35 -04:00
Mateusz Pusz
a9b482a661
refactor: magnitude types are much shorter now
...
`units::magnitude<units::base_power<long>{2l, units::ratio{-42l, 1l}}, units::base_power<long>{3l, units::ratio{1l, 1l}}, units::base_power<long>{5l, units::ratio{-41l, 1l}}, units::base_power<long>{7l, units::ratio{1l, 1l}}, units::base_power<long>{6310543l, units::ratio{1l, 1l}}>{}` is now `units::magnitude<units::power_v<2, -42>{}, 3, units::power_v<5, -41>{}, 7, 6310543>{}`
2022-09-22 10:26:55 +02:00
Mateusz Pusz
f375797372
refactor: constexpr replaced with consteval
2022-09-22 10:24:32 +02:00
Mateusz Pusz
79ef21b2a5
refactor: power::ratio renamed to power::exponent
2022-09-22 10:23:41 +02:00
Mateusz Pusz
726c67b194
refactor: ratio usage added to power
2022-09-16 17:40:13 -06:00
Mateusz Pusz
2d5386504d
refactor: Unused code commented for now
2022-09-16 17:38:40 -06:00
Mateusz Pusz
2f365b5135
refactor: mag and mag_power changed to variable templates
2022-09-15 15:13:46 -06:00
Mateusz Pusz
70185b49c2
refactor: constexpr replaced with consteval
2022-09-15 14:52:54 -06:00
Mateusz Pusz
6bc54819f3
fix: 💥 standard_gravity removed from si2019 namespace as it is not an SI defining constant
2022-09-15 11:49:37 -06:00
Mateusz Pusz
c96e88e1be
Merge branch 'master' of github.com:mpusz/units
2022-09-12 18:00:36 -06:00
Chip Hogg
06b3a64252
Replace compile-time exceptions with terminations
...
This appears to cause problems under `-fno-exceptions` in some rare instances.
Should fix #390 .
2022-09-12 00:34:45 +00:00
Mateusz Pusz
22c26e62c6
refactor: prefixes refactored to benefit from mag_power()
2022-09-11 19:47:31 +02:00
Mateusz Pusz
b614a8c887
refactor: all dimension types now have _dim as a suffix
2022-09-09 15:22:35 +02:00
Mateusz Pusz
1a2c215578
refactor: derived dimensions now can be used in the equations but will not be visible in the final type
2022-09-09 11:46:08 +02:00
Mateusz Pusz
f516e3287e
refactor: nodiscard added
2022-09-08 23:08:00 +02:00
Mateusz Pusz
a3d4c8f01f
refactor: derived_dimension can now store only powers of base dimensions
2022-09-08 23:07:14 +02:00
Mateusz Pusz
5e36dd6167
fix: expr_consolidate fixed for two the same powers
2022-09-08 21:08:06 +02:00
Mateusz Pusz
daf97a3a86
feat: initial very dirty version of V2 framework
2022-09-08 19:11:45 +02:00
Mateusz Pusz
d0eceefe80
refactor: dead ratio code removed
2022-09-06 23:49:16 +02:00
Mateusz Pusz
1238cc17c2
refactor: treat_as_floating_point constraint added for Rep in the trigonometric functions
2022-09-05 12:20:57 +02:00
Mateusz Pusz
abc429a71a
refactor: rotation angle unit renamed to revolution
2022-09-05 12:12:12 +02:00
Mateusz Pusz
520c944971
feat: 💥 reduced_planck constant removed as it is unclear if it should be angular or not (leave the choice to the user)
2022-09-03 12:29:58 +02:00