Commit Graph
930 Commits
Author SHA1 Message Date
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