Commit Graph

346 Commits

Author SHA1 Message Date
Mateusz Pusz
10a2e6dc0d feat: 💥 initial implementation of implicit point origins 2023-12-21 12:25:09 +01:00
Mateusz Pusz
436463b7a7 feat: value_cast<Unit, Representation> added 2023-12-19 18:19:22 +01:00
Nick Thompson
267db9e2a2 Update minimum cmake version to 3.5
Currently, cmake is emitting the following warning:

```
CMake Deprecation Warning at cmake/ccache.cmake:23 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.
```

Update the CMake min version to 3.5 to unclutter the build logs and ensure users don't get broken by the deprecation.
2023-12-16 11:51:58 -08:00
Mateusz Pusz
4192e1edea style: formatting changed to make pre-commit happy 2023-12-08 12:54:36 +01:00
Mateusz Pusz
da8721b997 feat: users are now allowed to inherit their ow types from absolute point origins 2023-12-03 16:15:38 +01:00
Mateusz Pusz
dc4d73a90c fix(example): fixing compilation after the previous commit 2023-11-08 15:36:06 -10:00
Mateusz Pusz
fe15572e90 feat(example): unit symbols added to the currency example 2023-11-08 15:30:24 -10:00
Mateusz Pusz
98d07b9ed1 feat: 💥 quantity_spec and its kind should not compare equal 2023-10-17 09:45:31 +02:00
Mateusz Pusz
b96be72457 feat: 💥 quantity_point does not provide zero() anymore 2023-10-15 09:39:18 +02:00
Mateusz Pusz
c75559dd34 docs: "i.e." replaced with "e.g." everywhere in the project 2023-10-10 20:24:23 +02:00
Mateusz Pusz
e23f038173 Merge branch 'master' into unit_compose_ext 2023-10-06 23:38:04 +02:00
Mateusz Pusz
0d66089853 feat: 💥 inverse() support added for dimensions, quantity_spec, units, and references (1 / s will now create quantity and not a Unit) 2023-10-06 12:53:18 -06:00
Mateusz Pusz
a32866abcf Merge branch 'master' of github.com:mpusz/units 2023-10-04 10:09:08 -06:00
Mateusz Pusz
25f986d32c fix: MSVC-related fixes and workarounds 2023-10-04 10:00:17 -06:00
Mateusz Pusz
00a2bce0e8 fix(example): latitude and longitude fixed to include 0 for N and E respectively 2023-10-03 11:00:33 -06:00
Mateusz Pusz
b2423bfded feat: quantities can now be multiplied and divided by units 2023-09-29 21:40:24 -06:00
Mateusz Pusz
2e26eed59d feat: numerical_value_ref_in disallowed for rvalues 2023-09-13 19:59:49 +02:00
Mateusz Pusz
e085beef40 feat: qp.quantity_from(PO) added 2023-09-13 11:57:22 +02:00
Mateusz Pusz
6c576d7120 style: another whitespace removed from the currency example 2023-09-13 11:27:56 +02:00
Mateusz Pusz
414f1d1007 style: additional whitespace removed from conversion_factor example 2023-09-13 11:26:55 +02:00
Mateusz Pusz
a6284aa293 refactor: some value_cast<U>(q) replaced with q.force_in(U) 2023-09-13 10:43:08 +02:00
Mateusz Pusz
2b2f62d038 feat: force_numerical_value_in(U) added 2023-09-13 10:10:10 +02:00
Mateusz Pusz
3b2ca4084a refactor: quantity_point::quantity_from_origin() refactored to quantity_point::quantity_ref_from(PO)
Resolves #479 and relates to #477
2023-09-13 10:09:08 +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
e36fe151ea refactor(example): storage_tank refactored 2023-09-13 09:01:03 +02:00
Mateusz Pusz
76a9e0ff6e refactor(example): hello_units refactored to not use auto 2023-09-13 08:58:38 +02:00
Mateusz Pusz
cbcc6f4627 feat: compare.h header added with checks against zero
Resolves #487
2023-09-13 08:55:06 +02:00
Mateusz Pusz
42527d2bfb fix(example): measurement now properly propagates treat_as_floating_point 2023-09-10 14:17:34 +02:00
Mateusz Pusz
d7261c8f76 fix(example): treat_as_floating_point specified for validated_type and ranged_representation 2023-09-04 12:30:14 +02:00
Mateusz Pusz
f0e1e202db fix: latitude and longitude are now quantity points and have proper formatting 2023-09-04 11:20:00 +02:00
Mateusz Pusz
81698f02e5 feat(example): validated_type now properly registers as a scalar type 2023-09-04 11:16:25 +02:00
Mateusz Pusz
b3fb025053 feat(example): text output added to validated_type and ranged_representation 2023-09-04 11:15:33 +02:00
Mateusz Pusz
0db297ac18 feat(example): the last remaining constant added to si_constants example 2023-08-30 17:39:22 +02:00
Mateusz Pusz
91a93b37db refactor(example): headers includes simplified in the avg_speed example 2023-08-30 17:38:36 +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
f29c57d367 style: formatting to make pre-commit happy 2023-08-25 23:05:36 +02:00
Mateusz Pusz
05a307564a refactor(example): gcc-11 ICE on the previous code 2023-08-25 22:16:40 +02:00
Mateusz Pusz
c625be5ebe fix(example): transform_inclusive_scan initial value had to be explicitly provided 2023-08-25 19:49:33 +02:00
Mateusz Pusz
9f1a42bc7f refactor: glide_computer renamed to glide_computer_lib 2023-08-24 19:19:55 +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
e49e6c40ae feat: absolute() member function removed from quantity_point 2023-08-23 14:52:09 +02:00
Mateusz Pusz
fb9f288c56 feat: quantity_point construction from quantity made private + make_quantity_point added 2023-08-23 12:49:14 +02:00
Mateusz Pusz
71981172c3 feat: quantity_point does not take a default origin anymore + common_qs logic removed from the binary operators 2023-08-23 10:41:37 +02:00
Mateusz Pusz
07ce64d6e7 refactor: relative() renamed to quantity_from_origin()
Resolves #479
2023-08-18 18:49:04 +02:00
Bourumir Wyngs
e3346dd8bf Fix "control reaches end of non void function" error. 2023-08-06 11:47:32 +02:00
Mateusz Pusz
1e81069d53 feat: absolute_point_origin convertibility removed 2023-08-01 11:53:50 +02:00
Mateusz Pusz
60a564a867 refactor(example): simpler header files used 2023-07-11 19:48:22 +02:00
Mateusz Pusz
8765a9c1e3 refactor(example): StorageTank example now properly uses horizontal_area quantity 2023-07-10 16:54:25 +02:00