Chip Hogg
f088d544b3
Fix known errors
2024-07-29 20:43:06 -04:00
Chip Hogg
e2829de1c8
Merge branch 'master' into chiphogg/sqrt-mag#474
2024-07-29 20:36:40 -04:00
Mateusz Pusz
d04d546b17
fix: target_compile_definitions scope fixed for import std;
2024-07-29 10:04:07 +02:00
Chip Hogg
f6696e8f68
Fix formatting
2024-07-24 19:48:05 -04:00
Chip Hogg
7e894788d7
Compute values for rational magnitude powers
...
Since this will only ever be done at compile time (as guaranteed by
using `consteval`), we can afford to prioritize precision over speed.
To compute an Nth root, we simply do a binary search over representable
floating point numbers, looking for the number whose Nth power most
closely matches the original number.
Fixes #494 . We have included a test case reproducing the original
problem exactly. All tests use "within 4 ULPs" as the criterion, which
is (I believe) equivalent to the googletest `EXPECT_DOUBLE_EQ`
criterion.
2024-07-24 10:31:44 -04:00
Mateusz Pusz
27bd2690bd
fix: preventing import std; in GMF
2024-07-16 20:50:04 +02:00
Mateusz Pusz
b870b85c25
feat: import std; support added
...
Resolves #595
2024-07-16 17:36:00 +02:00
Mateusz Pusz
d51fb6d6c1
refactor: consistent std::size_t usage
2024-07-16 12:12:54 +02:00
Mateusz Pusz
fcc16ae282
feat: convertibility of a quantity with a unit one with the raw value added
...
Resolves #553
2024-07-14 18:31:11 +02:00
Mateusz Pusz
0dfd323c4b
feat: ValuePreservingTo extended with the explicit convertibility requirement
2024-07-14 18:06:02 +02:00
Mateusz Pusz
73f7901329
build: duplicated cmake_minimum_required commands removed
...
Resolves #592
2024-07-14 18:04:05 +02:00
Mateusz Pusz
e2a0e678a1
refactor: small cleanup in the quantity.h
2024-07-13 08:37:40 +02:00
Mateusz Pusz
fa25d11275
refactor: ValuePreservingTo concept added
2024-07-13 08:36:48 +02:00
Mateusz Pusz
498d895fe5
fix: designated initialization of extract_results removed to enable clang-16 compilation
2024-07-12 18:47:19 +02:00
Mateusz Pusz
adbc77432e
feat: all tags in the expression templates are now ordered by the type names
...
Resolves #499
2024-07-12 17:48:38 +02:00
Mateusz Pusz
f0e94e06da
fix: quantity_spec_interface_base introduced to fix the compilation on the older compilers
2024-07-12 17:10:30 +02:00
Mateusz Pusz
0010d868a7
feat: tag types-related operators are now hidden friends as well
...
Resolves #591
2024-07-12 16:01:03 +02:00
Mateusz Pusz
bc234b0093
fix: disabled partial convertibility of binary operators arguments
2024-07-12 15:02:29 +02:00
Mateusz Pusz
e5e0e47c36
refactor: small quantity and quantity_point interface cleanup
2024-07-11 20:06:00 +02:00
Mateusz Pusz
a70ef1ebc3
Revert "fix: disabled convertibility of quantity binary operators arguments"
...
This reverts commit 037964bbba .
2024-07-11 18:05:51 +02:00
Mateusz Pusz
037964bbba
fix: disabled convertibility of quantity binary operators arguments
2024-07-11 17:19:31 +02:00
Mateusz Pusz
50cc9dfded
refactor: binary operators of quantity and quantity_point are now hidden friends
2024-07-11 16:08:47 +02:00
Mateusz Pusz
c8849e5781
refactor: improvements in are_ingredients_convertible
2024-07-10 10:23:55 +02:00
Mateusz Pusz
390a0cee5d
refactor: small refactoring of conditions in convertible_impl
2024-07-08 09:12:16 +02:00
Mateusz Pusz
0586ce030b
refactor: prepend_and_process_rest refactored
2024-07-07 22:27:35 +01:00
Mateusz Pusz
382695623a
refactor: a few functions that look for convertible ingredeints renamed
2024-07-07 22:15:24 +01:00
Mateusz Pusz
0368d0a56d
fix: MP_UNITS_API_CONTRACTS should have a priority over headers availability (compat_macros)
2024-07-07 21:14:04 +01:00
Mateusz Pusz
6a5e6902fe
fix: MP_UNITS_API_CONTRACTS should have a priority over headers availability
2024-07-06 18:09:41 +01:00
Mateusz Pusz
b803e5b701
fix: most of the previous commit reverted (accidentaly too many files with changes were included)
2024-07-05 10:05:25 +01:00
Mateusz Pusz
c30f62e7f5
docs: 2.2.0 release announcement updated to point to 2.2.1
2024-07-04 22:57:49 +01:00
Mateusz Pusz
2cff579650
feat: representation type template parameter added to value convertion functions
...
Resolves #588
2024-07-04 22:05:40 +01:00
Mateusz Pusz
5903e5661f
refactor: 💥 quantity_point_like_traits now use numerical value instead of the quantity
...
Resolves #531
2024-07-04 16:40:40 +01:00
Mateusz Pusz
360eb85d09
docs: TODO note changed in the unit_symbol and dimension_symbol
2024-07-04 15:03:58 +01:00
Mateusz Pusz
170a345fdf
fix: unit_symbol and dimension_symbol fixed for pre-C++23 compilation
2024-07-04 14:46:14 +01:00
Mateusz Pusz
246923d877
refactor: unit_symbol and dimension_symbol refactored for readability and consteval
2024-07-04 14:16:19 +01:00
Mateusz Pusz
cc75950c44
fix: value-initialization for data_ added to inplace_vector
2024-07-03 23:01:24 +01:00
Mateusz Pusz
c59ab3e11e
refactor: dimension_symbol and units_symbol refactored to use inplace_vector
2024-07-03 22:57:50 +01:00
Mateusz Pusz
6f03c04d97
fix: IWYU - concepts added to fixed_string
2024-07-03 22:56:30 +01:00
Mateusz Pusz
d5b8a742c9
feat: simplified inplace_vector added
2024-07-03 22:55:53 +01:00
Mateusz Pusz
84f0a0411c
Merge pull request #589 from nebkat/fix-fmt-11
...
fix: Support fmtlib 11.0.0
2024-07-02 20:27:05 +09:00
Mateusz Pusz
f6fbfe1e09
fix: MP_UNITS_HOSTED branch added to core.h
2024-07-02 11:44:38 +01:00
Mateusz Pusz
1365d62293
refactor: degree Celsius and Fahrenheit symbols text now use Unicode codepoints
2024-07-02 11:43:53 +01:00
Mateusz Pusz
e41078b889
fix: MP_UNITS_API_NO_CRTP handling fixed
2024-07-02 11:07:49 +01:00
Nebojsa Cvetkovic
0ac6a1701d
fix: Support fmtlib 11.0.0
2024-07-01 18:38:06 +01:00
Mateusz Pusz
a70031ab75
refactor: small code cleanup
2024-06-30 12:10:04 +02:00
Mateusz Pusz
13aab34b51
refactor: [[nodiscard]] and consteval set for some magnitude-related functions
2024-06-30 12:09:01 +02:00
Mateusz Pusz
f4ed232153
feat: non-member swap added for fixed_string
2024-06-30 12:07:58 +02:00
Mateusz Pusz
36825da04b
refactor: capacity functions of fixed_string fixed
2024-06-30 12:07:18 +02:00
Mateusz Pusz
3d6e50c67a
refactor: UnitCompatibleWith is now exposition-only
2024-06-30 12:06:26 +02:00
Mateusz Pusz
ba8681f90b
feat: 💥 delta and absolute construction helpers
2024-06-30 12:03:24 +02:00