mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-30 17:40:05 +08:00
Add explicit regression test for bug #1622
This commit is contained in:
parent
670d56441c
commit
43c987b1c1
@ -503,6 +503,7 @@ EIGEN_DECLARE_TEST(evaluators)
|
||||
VERIFY_IS_EQUAL( get_cost(a.lazyProduct(a+b)), 15);
|
||||
}
|
||||
|
||||
// regression test for PR 544 and bug 1622 (introduced in #71609c4)
|
||||
{
|
||||
// test restricted_packet_assignment with an unaligned destination
|
||||
const size_t M = 2;
|
||||
|
@ -8,6 +8,7 @@
|
||||
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#include "product.h"
|
||||
#include <Eigen/LU>
|
||||
|
||||
template<typename T>
|
||||
void test_aliasing()
|
||||
@ -87,6 +88,16 @@ void product_large_regressions()
|
||||
}
|
||||
}
|
||||
|
||||
template<int>
|
||||
void bug_1622() {
|
||||
typedef Matrix<double, 2, -1, 0, 2, -1> Mat2X;
|
||||
Mat2X x(2,2); x.setRandom();
|
||||
MatrixXd y(2,2); y.setRandom();
|
||||
const Mat2X K1 = x * y.inverse();
|
||||
const Matrix2d K2 = x * y.inverse();
|
||||
VERIFY_IS_APPROX(K1,K2);
|
||||
}
|
||||
|
||||
EIGEN_DECLARE_TEST(product_large)
|
||||
{
|
||||
for(int i = 0; i < g_repeat; i++) {
|
||||
@ -99,6 +110,8 @@ EIGEN_DECLARE_TEST(product_large)
|
||||
CALL_SUBTEST_5( product(Matrix<float,Dynamic,Dynamic,RowMajor>(internal::random<int>(1,EIGEN_TEST_MAX_SIZE), internal::random<int>(1,EIGEN_TEST_MAX_SIZE))) );
|
||||
|
||||
CALL_SUBTEST_1( test_aliasing<float>() );
|
||||
|
||||
CALL_SUBTEST_6( bug_1622<1>() );
|
||||
}
|
||||
|
||||
CALL_SUBTEST_6( product_large_regressions<0>() );
|
||||
|
Loading…
Reference in New Issue
Block a user