Mateusz Pusz
d9c39112df
Merge pull request #651 from rothmichaels/feature/update-apple-clang-test-matrix
...
Update Xcode versions for apple-clang builds
2024-12-19 18:53:20 +01:00
Roth Michaels
b70ded5b82
Drop 15.4 support from PR discussion
2024-12-19 12:17:55 -05:00
Roth Michaels
bf8dc4ac81
Update Xcode versions for apple-clang builds
...
Since mp-units requires at least Xcode 15 we should have coverage on the
latest compilers for operating system versions for macOS 13 (Ventura)
and macOS 14 (Sequoia) as those are the operating systems with necessary
compilers that our users would be using.
Now build with Xcode 15.2 instead of 15.0.1 which last version supported
on macOS 13.
Add a build for Xcode 15.4 and Xcode 16.1 for testing macOS 14 builds.
Since Xcode 16.1 is new most of our clients using macOS 14 would might
more likely be using Xcode 15.4.
There might not be much C++ changes between Xcode 15.2 and Xcode 15.4 so
perhaps we should drop 15.4 if adding three apple-clang builds is not
worth the resources.
2024-12-19 12:17:21 -05:00
Mateusz Pusz
75ae652bc2
Merge pull request #655 from rothmichaels/bugfix/apple-clang-crash
...
Fixes for apple-clang crashes and performance issues
2024-12-19 17:40:56 +01:00
Roth Michaels and Mateusz Pusz
90aa52a6cc
Update src/core/include/mp-units/framework/representation_concepts.h
...
Co-authored-by: Mateusz Pusz <mateusz.pusz@gmail.com >
2024-12-19 11:21:17 -05:00
Roth Michaels
ada508a683
Do not use WeaklyRegular with Xcode 15 for type detection
...
Removing the `WeaklyRegular` requirement from the `Scalar`, `Complex`,
and `Vector` concepts seems to address compiler crashes or long
compilation times with apple-clang included in Xcode 15.
I thought I had previously tried removing the `WeaklyRegular`
requirement and it had not solved the problem but either I made a
mistake with this test or some other changes after rebasing this work
changed the situation.
2024-12-19 11:19:09 -05:00
Roth Michaels and Mateusz Pusz
0c3bb98c6d
Update src/core/include/mp-units/framework/representation_concepts.h
...
Co-authored-by: Mateusz Pusz <mateusz.pusz@gmail.com >
2024-12-09 18:11:03 +01:00
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