Commit Graph
3489 Commits
Author SHA1 Message Date
Mateusz Pusz cbe37cdadf fix: compiler crashes workaround 2024-09-06 15:57:11 +02:00
Mateusz Pusz a9bcec46c8 fix: static removed from a constexpr variable in a constexpr function as this is supported in C++23 only 2024-09-06 15:56:45 +02:00
Mateusz Pusz 1570bda905 fix: quantity scaling between different prefixes improved
Resolves #608
2024-09-06 12:28:11 +02:00
Mateusz Pusz 7eb9b764bd fix: workarounds for not-working CWG2387 2024-09-05 22:05:35 +02:00
Mateusz Pusz 45013f6752 fix: inline restored for non-template constexpr global variables 2024-09-05 10:06:43 +02:00
Mateusz Pusz 2e840cfdb4 refactor: Repetitive inline constexpr removed as no longer needed
Not needed anymore as stated in cplusplus/draft#4601
2024-09-05 08:43:36 +02:00
Mateusz Pusz 2a4e1e3d95 docs: Rework of "Getting Started" section
Inspired by #603
2024-09-05 08:17:35 +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 aab0ef8ea0 docs: a tip with unit_can_be_prefixed workaround added 2024-08-21 11:17:41 +02:00
Mateusz Pusz ab51b47328 Merge pull request #601 from chiphogg/chiphogg/sqrt-mag#474
Compute values for rational magnitude powers
2024-07-31 05:24:27 +09: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 0850a200cd fix: import_std setting fixed for clang-tidy 2024-07-29 13:13:51 +02:00
Mateusz Pusz c7c446250d fix: import_std setting fixed 2024-07-29 12:21:36 +02:00
Mateusz Pusz 399c939c4f ci: import_std conan option is now dynamically deduces from other options 2024-07-29 12:01:05 +02:00
Mateusz Pusz 1788d9616f build: CMake's verify_header_sets disabled for import std; 2024-07-29 11:20:15 +02:00
Mateusz Pusz a8b79ff57f ci: import_std disabled for CMake CI 2024-07-29 10:28:39 +02:00
Mateusz Pusz 9448ef52b9 fix: std_format Conan option can be removed in configure 2024-07-29 10:25:09 +02:00
Mateusz Pusz d04d546b17 fix: target_compile_definitions scope fixed for import std; 2024-07-29 10:04:07 +02:00
Chip Hogg 3a6fac9858 Move tests to runtime 2024-07-24 20:04:15 -04:00
Chip Hogg f6696e8f68 Fix formatting 2024-07-24 19:48:05 -04:00
Mateusz Pusz f5eda4a25b fix: bump minimum conan version required
Resolves #600
2024-07-24 22:44:51 +02: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 fb9043b649 fix: setting of MP_UNITS_BUILD_IMPORT_STD in generate() added 2024-07-16 20:51:59 +02:00
Mateusz Pusz 698accac4f docs: import std; row added to the "C++ compiler support" table 2024-07-16 20:50:42 +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 827b0f5ee1 docs: small celanup of "Build options" chapter 2024-07-16 17:36:41 +02:00
Mateusz Pusz b870b85c25 feat: import std; support added
Resolves #595
2024-07-16 17:36:00 +02:00
Mateusz Pusz a4691825ee build: conanfile bumped to use fmt/11.0.1 2024-07-16 12:16:04 +02:00
Mateusz Pusz 180358814f build: conanfile bumped to use catch2/3.6.0 2024-07-16 12:14:40 +02:00
Mateusz Pusz 551ed9e094 test: conversion to chrono unit tests added 2024-07-16 12:13:29 +02:00
Mateusz Pusz d51fb6d6c1 refactor: consistent std::size_t usage 2024-07-16 12:12:54 +02:00
Mateusz Pusz c57142c18a fix: common_type_t with std::chrono::seconds unit test removed 2024-07-14 22:22:39 +02:00
Mateusz Pusz d84a2beae5 fix: common_type_t unit tests fixed 2024-07-14 22:12:25 +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 2e557e4179 build: all CMake modules bumped to require at least CMake 3.15 2024-07-14 18:02:53 +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 160a74a94a ci: runtime unit tests disabled for clang-tidy CI 2024-07-12 19:50:40 +02:00
Mateusz Pusz f66222fb87 fix: _angular impulse_ unit symbol formatting unit test fixed 2024-07-12 19:48:01 +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 0653a2dbf7 fix: non-portable unit test removed 2024-07-12 18:46:26 +02:00
Mateusz Pusz d341c166e1 fix: types ordering in one of the unit tests fixed 2024-07-12 18:31:54 +02:00