Commit Graph
45 Commits
Author SHA1 Message Date
Mateusz Pusz 05fd4a3ef7 refactor: math functions constraints refactored 2023-12-16 20:24:21 +01:00
Nick Thompson 7a270a6fd9 Floating point classification functions
Add the ability for `isnan`, `isfinite`, and `isinf` to work on dimensioned quantities.
2023-12-16 08:08:44 -08:00
Nick dd84873ac9 Merge branch 'master' into add_fma 2023-12-15 13:01:38 -08:00
Nick f32aafe0df Merge branch 'mpusz:master' into add_fma 2023-12-11 18:01:52 -08:00
Nick Thompson 51f8b47071 Add fma to math.h 2023-12-09 13:26:38 -08:00
Mateusz Pusz da8721b997 feat: users are now allowed to inherit their ow types from absolute point origins 2023-12-03 16:15:38 +01:00
Mateusz Pusz fa596fffc6 refactor: 💥 make_xxx factory functions replaced with two-parameter constructors
Resolves #521
2023-11-28 11:52:37 +01:00
Mateusz Pusz 5a74cd66ba feat: interoperability with other libraries redesigned 2023-09-30 22:23:18 -06:00
Mateusz Pusz 06e4548dc9 fix: clang compilation of inverse fixed 2023-09-29 10:08:01 +02:00
Mateusz Pusz 9224fc511a fix: static linkage removed from random functions 2023-09-24 19:34:21 +02:00
Mateusz Pusz f9ffacc713 feat: inverse() math utility added
Relates to #268
2023-09-20 20:13:39 +02:00
Mateusz Pusz 75fc3a0384 style: more whitespace issues caused by rebase fixed 2023-09-13 11:56:06 +02:00
Mateusz Pusz a6284aa293 refactor: some value_cast<U>(q) replaced with q.force_in(U) 2023-09-13 10:43:08 +02:00
Mateusz Pusz 2b2f62d038 feat: force_numerical_value_in(U) added 2023-09-13 10:10:10 +02:00
Mateusz Pusz a7711cb301 refactor: quantity::value() refactored to quantity::value_ref_in(U) 2023-09-13 09:23:59 +02:00
Mateusz Pusz cbcc6f4627 feat: compare.h header added with checks against zero
Resolves #487
2023-09-13 08:55:06 +02:00
Mateusz Pusz f1c2c74ab0 refactor: quantity::value() renamed to quantity::numerical_value()
According to https://jcgm.bipm.org/vim/en/1.19.html "quantity value" also contains a unit. According to https://jcgm.bipm.org/vim/en/1.20.html "numerical value" is the correct term for just a number.

Resolves #423
2023-08-30 11:30:35 +02:00
Mateusz Pusz 24803a96cc feat: math trigonometric functions can now be called with integral quantities
Relates to #485
2023-08-29 16:05:48 +02:00
Mateusz Pusz 27a0fc773b style: formatting changed to make pre-commit happy 2023-08-26 20:47:34 +02:00
Mateusz Pusz af827ca50f refactor: small math functions refactoring to make clang happy 2023-08-26 19:27:48 +02:00
Mateusz Pusz 14c1f34664 refactor: QuantityLike now requires value to exactly return rep 2023-08-23 20:00:32 +02:00
Mateusz Pusz a9204e2473 refactor: number() and number_in() renamed to value() and value_in()
Resolves #423
2023-08-23 17:15:32 +02:00
Mateusz Pusz ae92b49775 refactor: op[U] for quantity and quantity_point replaced with .in(U)
Resolves #469
2023-08-23 16:46:15 +02:00
Mateusz Pusz e49e6c40ae feat: absolute() member function removed from quantity_point 2023-08-23 14:52:09 +02:00
Mateusz Pusz 07ce64d6e7 refactor: relative() renamed to quantity_from_origin()
Resolves #479
2023-08-18 18:49:04 +02:00
Mateusz Pusz af26c48795 feat: now "7 days" will be created for std::chrono::weeks instead of a quantity in seconds 2023-08-15 11:22:23 +02:00
Mateusz Pusz 6201109c60 refactor: TYPENAME and CONSTEVAL macros got MP_UNITS_ prefix 2023-06-21 18:07:55 +02:00
Mateusz Pusz 3585e2a33c refactor: all math functions refectored 2023-06-14 15:57:59 +03:00
Mateusz Pusz f267ab27a0 refactor: pow now uses quantity::one instead of rep(1) 2023-06-13 17:39:09 +03:00
Mateusz Pusz c79a76ab8f fix: pow, sqrt, and cbrt fixed for quantities 2023-06-13 09:17:32 +03:00
Mateusz Pusz c5a0539cef refactor: all non-trigonometric math functions made constexpr 2023-06-02 10:53:34 +02:00
Mateusz Pusz 7d9ae3ec31 refactor: mp_units subdirectory renamed to mp-units 2023-05-25 12:47:10 +02:00
Mateusz Pusz 5d6fee2585 refactor: quantity refactored + make_quantity() added 2023-04-21 15:00:37 +01:00
Mateusz Pusz 565465d284 fix: angular trigonometric functions now can be constrained with QuantityOf<angle> 2023-04-10 19:55:25 +02:00
Mateusz Pusz 1a940399c9 refactor: chrono types now convert to quantity kinds 2023-04-04 14:28:38 +02:00
Mateusz Pusz 660e62c0a6 refactor: chrono_test refactored to V2 2023-04-03 19:23:08 +02:00
Mateusz Pusz 8da791f8ba refactor(unit test): math tests refactored to not use removed constructor 2023-04-03 18:07:10 +02:00
Mateusz Pusz 4e3daf3f02 fix: quantity construction in random.h fixed 2023-02-13 18:42:48 +01:00
Mateusz Pusz d70b95237c refactor: Quantity no longer can be constructed with a raw value
Resolves #434
2023-02-09 09:42:00 -08:00
Mateusz Pusz 0417507b49 refactor: math refactored to the latest library state 2023-02-08 21:49:19 -08:00
Mateusz Pusz cf3408a3c8 refactor: implementation cleanup + support for units as references started 2023-02-02 14:56:29 +01:00
Mateusz Pusz 2cf736a1e6 feat: preventing possible future units crash when using namespace std;
Resolves #317
2022-12-29 20:18:48 +01:00
Mateusz Pusz f430e81202 style: CMake files reformatted to make pre-commit happy 2022-12-27 10:51:29 +01:00
Mateusz Pusz f0a91aa77e refactor: math functions constraints weakened to allow interoperability with more argument types 2022-12-27 10:29:48 +01:00
Mateusz Pusz 1cec3d4867 refactor: _chrono.h_, _math.h_, and _random.h_ move to utlitity CMake module 2022-12-25 17:20:44 +01:00