Commit Graph
3991 Commits
Author SHA1 Message Date
Roth Michaels 7fd24315f1 Add .DS_Store to .gitignore
This file is added by macOS (e.g. when browsing the directory in Finder).
2024-12-19 18:34:40 -05:00
Mateusz Pusz e3ec5cb121 Merge pull request #659 from rothmichaels/feature/std-format-apple-clang-16
Enable use of std::format for AppleClang / Xcode 16
2024-12-19 20:15:26 +01:00
Roth Michaels 8293f023dd Update apple-clang compiler support info for std::format 2024-12-19 14:10:21 -05:00
Roth Michaels 7af8f7ecc8 Update apple-clang job matrix
Specify that `std::format` is supported for Xcode 16.1.
2024-12-19 14:10:21 -05:00
Roth Michaels 43729c6190 Enable use of std::format for AppleClang / Xcode 16
Specified the minimum apple-clang version to support `std::format` to 16
for _connanfile.py_.  Xcode 16 does include the `<format>` header but
does not seem to have the __cpp_lib_format compatibility macro defined
so a similar override was needed as we had for Clang 17.

To be able to use `std::format` with Xcode 16 I had to pass
`-DMP_UNITS_API_STD_FORMAT=AUTO` when calling `cmake`.  Is this expected
or is this a sign I missed something in my changes to _CMakeLists.txt_?
2024-12-19 12:54:55 -05:00
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 MichaelsandMateusz 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 MichaelsandMateusz 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 MichaelsandMateusz 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