Jonas Hoppe
5e657bac70
[msvc][fix] msvc complains about requires expression (no common type found) replace with concept has_common_type
2024-09-03 09:43:37 +02:00
Jonas Hoppe
464c55538f
[msvc][fix] resolve ambigious call to find_first_of
2024-09-03 09:43:37 +02:00
Jonas Hoppe
19e358e56d
[mscv][fix] string_view iterator is not castalbe to char
2024-09-03 09:43:37 +02:00
Jonas Hoppe
5d3ed201b6
[msvc][fix] some short names hide global identifier
2024-09-03 09:42:57 +02:00
Jonas Hoppe
aa26488b60
[msvc][fix] msvc compiler has different behaviour for *= and * at compile time (issue reported)
2024-09-03 09:42:57 +02:00
Jonas Hoppe
33837c5042
[msvc][fix] some short names hide global identifier
2024-09-03 09:42:48 +02:00
Mateusz Pusz
77625d63cb
feat: 💥 unit_can_be_prefixed removed - from now on all named units can be prefixed
...
Resolves #604
2024-08-22 08:06:00 +02:00
Mateusz Pusz
f983c31eb2
fix: workaround for linking issues on the older clang compilers
2024-07-30 16:07:45 +02:00
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