Roth Michaels and Mateusz Pusz
ec3f000050
Update src/core/include/mp-units/framework/representation_concepts.h
...
Co-authored-by: Mateusz Pusz <mateusz.pusz@gmail.com >
2024-12-09 18:10:56 +01:00
Roth Michaels
d30f5a668c
clang-format fixes
2024-12-09 18:01:27 +01:00
Roth Michaels
c3e45088a6
Fixes for apple-clang crashes and performance issues
...
The source of the crash with the latest changes seemed to be from the
`IsOfCharacter` concept. This concept was refactored to use some type
traits and more simple concepts although with less strict requirements.
A new macro, `MP_UNITS_APPLE_CLANG_HACKS` was added to
mp-units/bits/hacks.h to enable work arounds for pre-Xcode 16.1 apple-clang.
Some tests were not passing and were removed with the preprocessor macro
for apple-clang hacks is defined.
Adding `ComplexFunctionsAvailable` and `VectorFunctionsAvailable` fixed
some test failures in concepts_test.cpp but not all.
2024-12-09 17:39:21 +01:00
Mateusz Pusz
6d93f7385a
Merge pull request #628 from JohelEGP/ref_docs
...
docs(ref): document most of `mp_units.core`
2024-12-08 09:51:40 +01:00
Johel Ernesto Guerrero Peña
ea93287b58
docs(ref): document most of mp_units.core
2024-12-07 16:21:20 -04:00
Mateusz Pusz
7eab29c40a
fix: gcc-12 compilation workaround
2024-12-04 21:14:17 +01:00
Mateusz Pusz
4f75a48ba3
refactor: WeaklyRegular removed from ScalableWith
2024-12-04 21:14:02 +01:00
Mateusz Pusz
054e28671c
refactor: implicit expression variations used in quantity and quantity_point constraints
2024-12-04 20:21:32 +01:00
Mateusz Pusz
b98c640450
feat: missing precondition added for quantity::op/
2024-12-04 20:10:47 +01:00
Mateusz Pusz
29ba8e6f7c
refactor: preconditions for quantity operations now use is_neq_zero
2024-12-04 20:10:18 +01:00
Mateusz Pusz
971197b9e5
refactor: quantity constructor refactored to use another constructor with the result of sudo_cast
2024-12-04 20:08:02 +01:00
Mateusz Pusz
7e789bc1f1
refactor: std::assignable_from used in ValuePreservingTo concept
2024-12-04 19:57:58 +01:00
Mateusz Pusz
6cd7d388b1
refactor: WeaklyRegular moved to the end of the representation constraints
2024-12-04 19:57:16 +01:00
Mateusz Pusz
db64534f34
test: tests to check if quantity satisfies Scalar
2024-12-01 14:15:56 +01:00
Mateusz Pusz
e44bb7ed55
style: small cleanup of representation concepts
2024-12-01 14:14:19 +01:00
Mateusz Pusz
a444c53fe7
refactor: representation concepts refactored to properly support implicit expression variations
2024-12-01 14:13:41 +01:00
Mateusz Pusz
c582801d84
feat: ScalableWith isolated from Scalar and added as a constraint to Complex and Vector
2024-12-01 14:08:05 +01:00
Mateusz Pusz
4831928802
refactor: Scalar concept refactored to give it a chance to preserve the input type for types simliar to quantity
2024-12-01 14:00:52 +01:00
Mateusz Pusz
c7006f8813
refactor: repeated concept checks removed from get_common_reference
2024-12-01 13:45:34 +01:00
Mateusz Pusz
e585fd9e37
refactor: reference now returns explicit types for inverse, pow, sqrt, and cbrt
2024-12-01 13:39:14 +01:00
Mateusz Pusz
e5a2d4b9e8
docs: "an" replaced with "a"
2024-12-01 10:19:02 +01:00
Mateusz Pusz
19a2019204
feat: proper constraints for kind_of
2024-11-29 21:20:37 +01:00
Mateusz Pusz
b5f54a6749
docs: Wrocław 2024 meeting report
2024-11-29 13:45:06 +01:00
Mateusz Pusz
0cc26f4f46
feat: abs(quantity) exposed for conforming freestanding implementations
2024-11-29 13:21:34 +01:00
Mateusz Pusz
51bc3ea5bd
fix: IWYU
2024-11-29 13:19:54 +01:00
Mateusz Pusz
4280e54081
fix: get_quantity_spec compilation fixed on MSVC
2024-11-29 13:19:25 +01:00
Mateusz Pusz
f0885f8027
feat: scaled units are now enclosed in parenthesis (...) instead of brackets [...]
2024-11-29 12:17:53 +01:00
Mateusz Pusz
52e95f9b2e
test: a few more natural units tests added
2024-11-29 11:11:13 +01:00
Mateusz Pusz
9c4671790e
refactor: all_are_kinds removed and get_associated_quantity simplified
2024-11-29 11:10:20 +01:00
Mateusz Pusz
a223c08a39
refactor: multiplication and division by scalars was a bad idea for Complex and Vector
2024-11-28 23:02:11 +01:00
Mateusz Pusz
f99a73a75f
refactor: "expression templates" renamed to "symbolic expressions"
2024-11-28 15:34:52 +01:00
Mateusz Pusz
1c4f744eac
fix: compilation fixed again (stupid modules build does not recompile properly and the local build has passed twice with errors in the code :-()
2024-11-26 22:48:56 +01:00
Mateusz Pusz
6883e38573
fix: compilation fixed after the previous commit
2024-11-26 22:38:44 +01:00
Mateusz Pusz
6bfcc3a8ba
feat: precondition added to to_u8string
2024-11-26 22:32:09 +01:00
Mateusz Pusz
d6002ce419
refactor: 💥 quantity_values renamed to representation values
2024-11-26 18:36:37 +01:00
Mateusz Pusz
81e83dba71
Merge pull request #649 from mpusz/cpo_refactor
...
refactor: CPOs refactored to be more constrained
2024-11-26 18:03:08 +01:00
Mateusz Pusz
52b003e6ea
fix: std::abs freestanding compilation issue fixed
2024-11-26 16:54:05 +01:00
Mateusz Pusz
781aa84a82
refactor: inline replaced with MP_UNITS_INLINE
2024-11-26 16:52:36 +01:00
Mateusz Pusz
41a803d025
fix: header dependency fixed in complex.h
2024-11-26 15:42:03 +01:00
Mateusz Pusz
c7eb981f4f
fix: missing poison pills added
2024-11-26 15:40:15 +01:00
Mateusz Pusz
2f3399e02f
fix: gcc compilation fixed
2024-11-26 15:12:50 +01:00
Mateusz Pusz
465f88d500
refactor: 💥 is_XXX customization points for representation types removed
2024-11-26 14:48:08 +01:00
Mateusz Pusz
083ef6adb1
refactor: CPOs refactored to be more constrained
2024-11-26 13:02:17 +01:00
Mateusz Pusz
febdaec85e
feat: text ouptput should fallback to the portable mode when UTF-8 is not used for text_encoding
2024-11-26 10:59:02 +01:00
Mateusz Pusz
3b14b588e9
refactor: type_name_less introduced and used as a default predicate for expression templates
2024-11-26 10:09:28 +01:00
Mateusz Pusz
360cf7d540
refactor: power members refactored to be explicitly exposition only
2024-11-26 09:24:01 +01:00
Mateusz Pusz
b77aa52355
refactor: absolute renamed to point
...
Resolves #645
2024-11-24 14:19:16 +01:00
Mateusz Pusz
36b1707da0
perf: get_complexity, explode, and extract_convertible_quantities results caching added
2024-11-24 13:58:04 +01:00
Mateusz Pusz
026dbed22a
refactor: get_canonical_unit_result refactored to a variable template
2024-11-24 13:51:17 +01:00
Mateusz Pusz
57dbe4a8c6
refactor: unused SameReference concept removed
2024-11-24 10:42:48 +01:00