Loading
Commits on Source 28
-
-
Rasmus Munk Larsen authored
-
-
-
-
-
Rasmus Munk Larsen authored
-
-
-
-
Antonio Sánchez authored
-
Antonio Sánchez authored
-
Antonio Sánchez authored
-
-
-
Antonio Sánchez authored
<!-- Thanks for contributing a merge request! We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen). Before submitting the MR, please complete the following checks: - Create one PR per feature or bugfix, - Run the test suite to verify your changes. See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests). - Add tests to cover the bug addressed or any new feature. - Document new features. If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md). - Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`. This allows us to rebase and merge your change. Note that we are a team of volunteers; we appreciate your patience during the review process. --> ### Description <!--Please explain your changes.--> More ComplexQZ fixes. Extra semicolons are triggeri...
-
<!-- Thanks for contributing a merge request! We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen). Before submitting the MR, please complete the following checks: - Create one PR per feature or bugfix, - Run the test suite to verify your changes. See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests). - Add tests to cover the bug addressed or any new feature. - Document new features. If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md). - Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`. This allows us to rebase and merge your change. Note that we are a team of volunteers; we appreciate your patience during the review process. --> ### Description <!--Please explain your changes.--> Support AVX for i686. There was an existing work-around for windows. Added the more generic architecture comparison to also apply for linux. ### Reference issue <!-- You can link to a specific issue using the gitlab syntax #<issue number>. If the MR fixes an issue, write "Fixes #<issue number>" to have the issue automatically closed on merge. --> Fixes #2991. Closes #2991 See merge request libeigen/eigen!2037
-
Charles Schlosser authored
<!-- Thanks for contributing a merge request! Please name and fully describe your MR as you would for a commit message. If the MR fixes an issue, please include "Fixes #issue" in the commit message and the MR description. In addition, we recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen) and [git page](https://eigen.tuxfamily.org/index.php?title=Git), which will help you submit a more standardized MR. Before submitting the MR, you also need to complete the following checks: - Make one PR per feature/bugfix (don't mix multiple changes into one PR). Avoid committing unrelated changes. - Rebase before committing - For code changes, run the test suite (at least the tests that are likely affected by the change). See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests). - If possible, add a test (both for bug-fixes as well as new features) - Make sure new features are documented Note that we are a team of volunteers; we appreciate your patience during the review process. Again, thanks for contributing! --> ### Reference issue <!-- You can link to a specific issue using the gitlab syntax #<issue number> --> ### What does this implement/fix? <!--Please explain your changes.--> Currently, we run each test 3 times to account for flaky tests. Sometimes, the test fails so quickly that the random seed is the same for the subsequent test, which fails the exact same way. This MR uses a nanosecond seed which resolves the issue described above. Now, if the test does not pass on the first attempt but passes on the retries, the gitlab job status will be yellow but still be treated as a pass in the ci/cd pipeline. Hopefully, this means we will get more passes and help us identify room for improvement. ### Additional information <!--Any additional information you think is important.--> See merge request !2025
-
It fixes this compiler error: ``` /home/tav/git/Sleipnir/build/_deps/eigen3-src/Eigen/src/SparseCore/SparseVector.h:143:19: error: cannot convert ‘int’ to ‘const Eigen::internal::CompressedStorage<boost::decimal::decimal64_t, int>::Scalar&’ {aka ‘const boost::decimal::decimal64_t&’} 143 | m_data.append(0, i); | ^ | | | int ``` This change matches what SparseMatrix does: https://gitlab.com/libeigen/eigen/-/blob/master/Eigen/src/SparseCore/SparseMatrix.h#L430-L438 See merge request !2040 -
<!-- Thanks for contributing a merge request! We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen). Before submitting the MR, please complete the following checks: - Create one PR per feature or bugfix, - Run the test suite to verify your changes. See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests). - Add tests to cover the bug addressed or any new feature. - Document new features. If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md). - Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`. This allows us to rebase and merge your change. Note that we are a team of volunteers; we appreciate your patience during the review process. --> ### Description <!--Please explain your changes.--> Eliminate use of std::cout in ArpackSelfAdjointEigenSolver. Instead set the appropriate error status on failure. ### Reference issue <!-- You can link to a specific issue using the gitlab syntax #<issue number>. If the MR fixes an issue, write "Fixes #<issue number>" to have the issue automatically closed on merge. --> ### Additional information <!--Any additional information you think is important.--> See merge request !2041
-
<!-- Thanks for contributing a merge request! We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen). Before submitting the MR, please complete the following checks: - Create one PR per feature or bugfix, - Run the test suite to verify your changes. See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests). - Add tests to cover the bug addressed or any new feature. - Document new features. If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md). - Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`. This allows us to rebase and merge your change. Note that we are a team of volunteers; we appreciate your patience during the review process. --> ### Description <!--Please explain your changes.--> Clarify range spanning major versions only works with 3.4.1. ### Reference issue <!-- You can link to a specific issue using the gitlab syntax #<issue number>. If the MR fixes an issue, write "Fixes #<issue number>" to have the issue automatically closed on merge. --> Fixes #2994. Closes #2994 See merge request !2042
-
Rasmus Munk Larsen authored
ComplexQZ would try to apply a Jacobi rotation to an empty block, which triggers a warning in static analyzers, since the corresponding `Eigen::Map` object will contain a `nullptr`. See merge request !2043
-
Here's the compiler error: ``` /home/tav/git/Sleipnir/build/_deps/eigen3-src/Eigen/src/Householder/Householder.h:82:16: error: call of overloaded ‘sqrt(boost::decimal::decimal64_t)’ is ambiguous 82 | beta = sqrt(numext::abs2(c0) + tailSqNorm); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tav/git/Sleipnir/build/_deps/eigen3-src/Eigen/src/Householder/Householder.h:82:16: note: there are 2 candidates In file included from /home/tav/git/Sleipnir/build/_deps/eigen3-src/Eigen/Core:198, from /home/tav/git/Sleipnir/test/src/optimization/cart_pole_problem_test.cpp:8: /home/tav/git/Sleipnir/build/_deps/eigen3-src/Eigen/src/Core/MathFunctions.h:1384:75: note: candidate 1: ‘typename Eigen::internal::sqrt_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::sqrt(const Scalar&) [with Scalar = boost::decimal::decimal64_t; typename Eigen::internal::sqrt_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = boost::decimal::decimal64_t; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = boost::decimal::decimal64_t]’ 1384 | EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE EIGEN_MATHFUNC_RETVAL(sqrt, Scalar) sqrt(const Scalar& x) { | ^~~~ In file included from /home/tav/git/Sleipnir/build/_deps/decimal-src/include/boost/decimal/detail/cmath/ellint_1.hpp:16, from /home/tav/git/Sleipnir/build/_deps/decimal-src/include/boost/decimal/cmath.hpp:18, from /home/tav/git/Sleipnir/build/_deps/decimal-src/include/boost/decimal.hpp:33, from /home/tav/git/Sleipnir/test/include/scalar_types_under_test.hpp:6, from /home/tav/git/Sleipnir/test/src/optimization/cart_pole_problem_test.cpp:19: /home/tav/git/Sleipnir/build/_deps/decimal-src/include/boost/decimal/detail/cmath/sqrt.hpp:167:16: note: candidate 2: ‘constexpr T boost::decimal::sqrt(T) requires is_decimal_floating_point_v<T> [with T = decimal64_t]’ 167 | constexpr auto sqrt(const T val) noexcept | ^~~~ ``` Calling a function via its unqualified name invokes argument-dependent lookup. In this case, since `using numext::sqrt;` was used, both `numext::sqrt()` and `boost::decimal::sqrt()` participated in overload resolution. Since only `numext::sqrt()` was intended, the fix is to call that overload directly instead. See merge request !2044 -
Scalar doesn't necessarily support implicit construction from int or assignment from int. Here's the error message I got without this fix: ``` /home/tav/git/Sleipnir/build/_deps/eigen3-src/Eigen/src/SparseCore/SparseVector.h:180:25: error: no match for ‘operator=’ (operand types are ‘Eigen::internal::CompressedStorage<ExplicitDouble, int>::Scalar’ {aka ‘ExplicitDouble’} and ‘int’) 180 | m_data.value(p + 1) = 0; | ~~~~~~~~~~~~~~~~~~~~^~~ ``` See merge request !2046 -
<!-- Thanks for contributing a merge request! We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen). Before submitting the MR, please complete the following checks: - Create one PR per feature or bugfix, - Run the test suite to verify your changes. See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests). - Add tests to cover the bug addressed or any new feature. - Document new features. If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md). - Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`. This allows us to rebase and merge your change. Note that we are a team of volunteers; we appreciate your patience during the review process. --> ### Description <!--Please explain your changes.--> Allow user to configure if `free` is allowed at runtime. Reverts to Eigen 3.4 behavior by default, where `free(...)` is allowed if `EIGEN_RUNTIME_NO_MALLOC` is defined but `set_is_malloc_allowed(true)`. Adds a separate `set_is_free_allowed(...)` to explicitly control use of `std::free`. ### Reference issue <!-- You can link to a specific issue using the gitlab syntax #<issue number>. If the MR fixes an issue, write "Fixes #<issue number>" to have the issue automatically closed on merge. --> Fixes #2983. ### Additional information <!--Any additional information you think is important.--> Closes #2983 See merge request libeigen/eigen!2047
-
Rasmus Munk Larsen authored
For several packet types, `abs2` was not vectorized even if it only requires `pmul`. Get rid of the confusing and redundant `HasAbs2` enum and instead check `HasMul` in addition to making sure the scalar type is not complex. See merge request !2048
-
<!-- Thanks for contributing a merge request! We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen). Before submitting the MR, please complete the following checks: - Create one PR per feature or bugfix, - Run the test suite to verify your changes. See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests). - Add tests to cover the bug addressed or any new feature. - Document new features. If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md). - Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`. This allows us to rebase and merge your change. Note that we are a team of volunteers; we appreciate your patience during the review process. --> ### Description <!--Please explain your changes.--> My review of !2048 reminded me there was a much easier and better way of doing this for complex arrays. ### Reference issue <!-- You can link to a specific issue using the gitlab syntax #<issue number>. If the MR fixes an issue, write "Fixes #<issue number>" to have the issue automatically closed on merge. --> ### Additional information <!--Any additional information you think is important.--> See merge request !2049
-
Rasmus Munk Larsen authored
See merge request !2050