Commit Graph
1860 Commits
Author SHA1 Message Date
Jonas Hoppe b05b3796ce [PR] move is_mp_units_stream to detail and change from concept to constexpr function 2024-09-04 09:49:04 +02:00
Jonas Hoppe 712afc34b7 [PR] rename macros to match naming conventions for workaround 2024-09-04 09:37:41 +02:00
Jonas Hoppe d18bb28a25 [PR] remove MP_UNITS_TYPENAME 2024-09-04 09:32:21 +02:00
Jonas Hoppe d1897b1fe9 [PR] change disable error to macro 2024-09-04 09:28:44 +02:00
Jonas Hoppe 0b0d3345e5 [clang-format] 2024-09-03 13:17:44 +02:00
Jonas Hoppe b5c9dca61f [naming] change some more names 2024-09-03 12:31:19 +02:00
Jonas Hoppe 48c4f297c8 [hacks] add MP_UNITS_IS_CONST_EXPR(from) 2024-09-03 12:27:57 +02:00
Jonas Hoppe a89bfc6c21 [hacks] add MP_UNITS_IS_VALUE 2024-09-03 12:14:42 +02:00
Jonas Hoppe 5ae1304eee [hacks] add MP_UNITS_EXPRESSION 2024-09-03 12:07:08 +02:00
Jonas Hoppe e258009a6a [msvc][fmt] diable warning in smalest scope 2024-09-03 11:27:53 +02:00
Jonas Hoppe 4d715734bf [msvc][fix] update changes for master 2024-09-03 11:27:44 +02:00
Jonas Hoppe 918a8b7e8f [msvc][fix] parse error in refernce.h. resolved with more brackets. 2024-09-03 09:59:18 +02:00
Jonas Hoppe 3a6fc90c7b [msvc][fix] compiler does not get that expression can be evalutated to a const. (caused by read of variable outside its lifetime) 2024-09-03 09:47:11 +02:00
Jonas Hoppe cea5d70dc0 [msvc][fix] disable C4702 unreachable code 2024-09-03 09:45:41 +02:00
Jonas Hoppe 924782f557 [mscv][fix] weird problem with PO in quantity_point.h. replace with point_origin where needed 2024-09-03 09:45:35 +02:00
Jonas Hoppe 3d32d5d833 [msvc][fix] internal compiler error for requires expression. "simplify" with extra concept 2024-09-03 09:43:38 +02:00
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 30ac2882bd [msvc][fix] a lot of brackets where msvc prefers
the type and not the value. (Issue reported)
2024-09-03 09:43:34 +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 f0e19d004c fix: the remaining pascal macro conflicts fixed
Resolves #605
2024-08-25 17:31:58 +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 f9ae701b4e fix: MP_UNITS_BUILD_IMPORT_STD verification fixed 2024-07-17 21:31:28 +02:00
Mateusz Pusz 27bd2690bd fix: preventing import std; in GMF 2024-07-16 20:50:04 +02:00
Mateusz Pusz 2411a7ef12 build: minimum required CMake version bumped to 3.25
Resolves #597
2024-07-16 20:35:05 +02:00
Mateusz Pusz 2e1e4f122a chore: update CMakeLists.txt option description for building as system headers 2024-07-16 17:37:19 +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 b5e8f2afcd fix: si.h and angular.h now properly include hacks.h to define MP_UNITS_HOSTED before its usage 2024-07-12 15:03:19 +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