9c140f4b3a
feat: explicit constructor now can perform an explicit quantity_spec
conversion
2025-06-20 17:10:34 +02:00
f18aa18869
refactor: compund assignment and pre-/post-increment operators are now lvalue-qualified member functions
2025-06-19 18:49:21 +02:00
e9c5f7236e
feat: ConvertibleWithNumber
introduced to improve convertibility of unit one
with raw numbers
...
Resolves #675
2025-02-11 21:28:15 +01:00
47a82f466c
refactor: scalar
and complex
renamed to real_scalar
and complex_scalar
respectively + concepts refactoring + electromagnetism fixes
2025-02-11 17:26:19 +01:00
5d4e1aa740
feat: might_store_converted_common_value
added to detect conversions overflowing rep
...
Resolves #670 , resolves #671 , resolves #658 , resolves #303
2025-02-06 15:28:55 +01:00
0b14d69539
feat: quantity::one()
removed
...
Related to #408
2025-02-05 12:08:32 +01:00
06cbfae3b3
feat: quantity_spec
conversions improved
2024-12-28 14:02:03 +01:00
465f88d500
refactor: 💥 is_XXX
customization points for representation types removed
2024-11-26 14:48:08 +01:00
9a0f7a25dd
test: tests for dimensionless quantities static data members
2024-11-23 19:35:59 +01:00
4f8e959b5c
fix(test): shadowing warnings on gcc fixed
2024-11-16 08:28:39 +01:00
08e94171cb
test: vector quantities unit tests addded
2024-11-15 12:59:18 +01:00
5097096915
test: lots of tests for complex quantities
2024-11-07 18:42:20 +01:00
da50348115
feat: 💥 RepresentationOf
concept now also accepts a QuantitySpec
and accepts any representation character for quantity kinds
2024-11-07 18:39:32 +01:00
75b50b8d2c
feat: complex.h
added
2024-11-07 10:58:51 +01:00
6896d8e086
fix: velocity
is now defined in terms of displacement
instead of position_vector
2024-11-06 18:46:01 +01:00
c7303cc5fb
refactor: representation concepts refactored + some quantities switched to complex
2024-11-05 19:09:16 +01:00
f461cf479b
test: test for lack of consitency between op+
and op+=
for quantity_point
2024-11-04 09:41:11 +01:00
8ca8270d2f
feat: from now on truncation is not allowed in compound assignment
2024-10-30 08:40:49 +01:00
18525beb31
test: small refactoring of compund assignment tests
2024-10-29 10:20:11 +01:00
7445585db8
fix: compound assignment operations on quantities now behave the same as on the underying representation types
...
Resolves #137
2024-10-29 09:18:32 +01:00
00847ab558
fix(tests): freestanding build fixed
2024-10-16 17:22:59 +02:00
21784b125e
refactor: derived_quantity
refactored to child_quantity
2024-10-15 21:06:52 +02:00
3eecdf3946
test: commutativity tests added to ISQ
2024-10-15 21:06:18 +02:00
569f27af8b
fix: common_unit
handling fixed for some corner cases
2024-10-05 17:52:52 +02:00
7ce8d695b1
test: std::complex
-based quantities tests added
2024-09-17 12:48:13 -06:00
0670fbdd9f
feat: value_cast<Representation, Unit>()
complementary conversion function added
2024-09-13 21:38:59 +02:00
3d39472f46
test: unit tests for creating a quantity from a volatile
variable
2024-09-06 18:07:33 +02:00
1570bda905
fix: quantity scaling between different prefixes improved
...
Resolves #608
2024-09-06 12:28:11 +02:00
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
3a6fac9858
Move tests to runtime
2024-07-24 20:04:15 -04:00
f6696e8f68
Fix formatting
2024-07-24 19:48:05 -04:00
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
b870b85c25
feat: import std;
support added
...
Resolves #595
2024-07-16 17:36:00 +02:00
c57142c18a
fix: common_type_t
with std::chrono::seconds
unit test removed
2024-07-14 22:22:39 +02:00
d84a2beae5
fix: common_type_t
unit tests fixed
2024-07-14 22:12:25 +02:00
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
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
2cff579650
feat: representation type template parameter added to value convertion functions
...
Resolves #588
2024-07-04 22:05:40 +01:00
2adc9344ea
refactor: some TODO comment addressed or removed
2024-06-01 13:36:22 +02:00
ec287664ee
refactor: some TODO comments resolved
2024-05-31 21:07:42 +02:00
cd36e6f974
feat: freestanding support added
...
Resolves #564 , #565 , and #556
2024-05-30 19:50:02 +02:00
09c7b059c7
review suggestions
...
Co-authored-by: Mateusz Pusz <mateusz.pusz@gmail.com >
2024-05-10 21:38:40 +02:00
c2fa8a9000
avoid using a function for the lvalue test
2024-05-10 21:13:21 +02:00
d03f9c17a3
fix constexpr and format
2024-05-10 20:15:15 +02:00
b119abed56
add test for lvalue references in quantity_cast
2024-05-10 20:01:35 +02:00
54d144d112
refactor: workarounds for clang-tidy-18
2024-05-08 14:46:04 +02:00
75f719add7
refactor: code refactored to comply with clang-tidy
2024-05-08 11:12:38 +02:00
8ea346be1c
refactor: 💥 header files with the entire system definitions moved up in the directory tree
2024-04-25 16:34:11 +02:00
c066104af7
refactor: 💥 framework.h
introduced + IWYU
2024-04-24 21:09:29 +02:00
15389107d4
fix: dependencies on cstdint
header fixed
2024-04-23 08:59:14 +02:00