Commit Graph
1032 Commits
Author SHA1 Message Date
Mateusz Pusz f60328725e build: operator*(R, Rep&&) deletion comment fixed 2024-10-15 21:02:37 +02:00
Mateusz Pusz 931656254f refactor: 💥 char_traits removed from fixed_string 2024-10-15 21:00:50 +02:00
Mateusz Pusz 6c4f7e2692 refactor: one_of usage removed from the fixed_string deduction guides 2024-10-15 20:53:53 +02:00
Mateusz Pusz 6591a65d06 feat: 𝜋 added as an alias for pi 2024-10-14 22:49:58 +02:00
Mateusz Pusz 87d0d73d1b fix: MSVC bug workaround 2024-10-10 22:40:49 +02:00
Mateusz Pusz 4eb63227e2 refactor: 💥 ascii -> portable, unicode -> utf8, 'A' -> 'P' 2024-10-10 00:02:08 +02:00
Mateusz Pusz cb424a79c0 fix: math functions constraints fixed 2024-10-09 18:28:44 +02:00
Mateusz Pusz f1590b0f04 refactor: magnitude::op==() now uses our own is_same_v 2024-10-09 17:28:04 +02:00
Mateusz Pusz 2b1e7edd69 refactor: derived_from_the_same_base_dimension no longer needed 2024-10-09 17:27:01 +02:00
Mateusz Pusz 70a18fec0c refactor: 💥 op==(U1, U2) now checks for the same type (old behavior available as equivalent(U1, U2)) + convertible now verifies associated quantity_spec as well 2024-10-09 17:26:13 +02:00
Mateusz Pusz ee7caf494e docs: better_type_name description added in a comment 2024-10-06 08:05:10 +02:00
Mateusz Pusz cff9e25d3e feat: common_unit selection algorithm improved to make rev + rad return rad 2024-10-05 22:57:46 +02:00
Mateusz Pusz 569f27af8b fix: common_unit handling fixed for some corner cases 2024-10-05 17:52:52 +02:00
Mateusz Pusz 07e4e795c1 refactor: magnitude interface cleanup 2024-10-04 17:22:15 +02:00
Mateusz Pusz fbe384a476 feat: TagType concept added 2024-10-04 14:55:59 +02:00
Mateusz Pusz a95b2c770e fix: explicit cast added to less for magnitudes to fix clang-arm64 conversion error 2024-10-03 22:10:38 +02:00
Mateusz Pusz cc521ee723 fix: magnitude compilation fixed 2024-10-03 20:40:46 +02:00
Mateusz Pusz dba8b07eb5 feat: added support for printing powers of magnitude constants 2024-10-03 19:36:37 +02:00
Mateusz Pusz d783c3cda9 feat: magnitude text now obeys formatting parameters and knows how to print constants 2024-10-03 18:39:41 +02:00
Mateusz Pusz 5c1035a312 fix: extraneous space in unit symbol having only denominators removed 2024-10-03 18:34:37 +02:00
Mateusz Pusz 2c15f3c058 feat: tag types are now required to be empty 2024-10-03 16:51:01 +02:00
Mateusz Pusz 6f771e0ed7 refactor: shorten_T removed 2024-10-03 16:46:57 +02:00
Mateusz Pusz 87ed5c02d2 refactor: unit_symbol_formatting moved to a dedicated header file 2024-10-03 16:46:17 +02:00
Mateusz Pusz 1ee98471ac refactor: unit_symbol_impl simplified 2024-10-03 16:44:59 +02:00
Mateusz Pusz 51dc1d7469 fix: according to ISO 80000-16 % should always be prefixed with space 2024-10-03 11:54:40 +02:00
Mateusz Pusz 1a8a386460 feat: fractional exponents support added to mag_power 2024-10-03 10:25:23 +02:00
Mateusz Pusz defc69b346 refactor: 💥 mag_constant now takes a symbol and a value and the class deriving from it must be final 2024-10-02 19:05:45 +02:00
Mateusz Pusz 79cfd3ec9a fix: clang-16 compilation fixed 2024-10-02 18:01:34 +02:00
Mateusz Pusz eeece8a356 feat: scaled_unit does not have a priority over derived_unit anymore
We want `pow<2>(mag<3600> * second)` to print `[3600 s]^2` and `42 * (mag<10> * metre) / (mag<20> * second)` to print `42 [10 m]/[20 s]`
2024-10-02 16:10:29 +02:00
Mateusz Pusz d7309c8602 feat: scaled_unit symbol printing improved ([] around the entire unit, small magnitude values do not use a power of 10 anymore) 2024-10-02 15:27:38 +02:00
Mateusz Pusz 61817ae61f refactor: abs moved to constexpr_math.h 2024-10-02 15:24:52 +02:00
Mateusz Pusz 25e99fe0fa feat: common unit symbols now use EQUIV{u1, u2, ...} syntax 2024-10-02 08:14:37 +02:00
Mateusz Pusz 0d00be067a refactor: convertible(U1, U2) implementation simplified 2024-10-01 21:37:31 +02:00
Mateusz Pusz 246defb9b2 fix: constraits for magnitude added for scaled_unit and fixed common_unit instantiating it incorrectly 2024-10-01 21:36:33 +02:00
Mateusz Pusz 47344b13bd refactor: pi mag_constant refactored to be one-liner 2024-09-28 15:20:41 +02:00
Mateusz Pusz 1c8b8ff8e9 fix: missing are_ingredients_convertible overloads added 2024-09-27 19:16:11 +02:00
Mateusz Pusz 7ea1ea0ff7 fix: __cpp_deleted_function workaround for clang-19 added 2024-09-27 11:59:37 +02:00
Mateusz Pusz 3190d15eba feat: common_unit support added 2024-09-26 20:28:41 +02:00
Mateusz Pusz 25af8c9d8f feat: for_each on std::tuple added 2024-09-26 16:40:20 +02:00
Mateusz Pusz 922907890f feat: type_list_unique added 2024-09-26 13:05:01 +02:00
Mateusz Pusz a27089cb9c Revert "build: clang no longer needs a workaround for 75057"
This reverts commit a7471ead84.
2024-09-26 10:30:34 +02:00
Mateusz Pusz a7471ead84 build: clang no longer needs a workaround for 75057 2024-09-26 10:24:32 +02:00
Mateusz Pusz 028410941d feat: multiply syntax for offset units marked as deprecated 2024-09-26 10:23:26 +02:00
Mateusz Pusz fe1fab03a3 feat: mag_pi marked as deprecated 2024-09-26 10:20:45 +02:00
Mateusz Pusz 8c12f95ee5 Revert "feat: 💥 variadic template versions of get_common_XXX() removed (only 2-argument overloads used in practice)"
This reverts commit ab888aaecd.
2024-09-25 12:51:33 +02:00
Mateusz Pusz ab888aaecd feat: 💥 variadic template versions of get_common_XXX() removed (only 2-argument overloads used in practice) 2024-09-24 18:22:00 +02:00
Mateusz Pusz ed9e67537b fix: mag constraints fixed for clang-17 2024-09-24 10:12:47 +02:00
Mateusz Pusz e23e185cce fix: missing header files added to constexpr_math.h 2024-09-24 10:09:19 +02:00
Mateusz Pusz dcab80525d refactor: 💥 common_XXX() functions renamed to get_common_XXX()
This is needed to release a name for `common_unit` type that is coming soon.
2024-09-24 09:36:59 +02:00
Mateusz Pusz 0b265f362d refactor: is_derived_from_specialization_of_v added and applied to remove custom traits 2024-09-23 14:25:33 +02:00