diff options
Diffstat (limited to 'test/product_large.cpp')
-rw-r--r-- | test/product_large.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/product_large.cpp b/test/product_large.cpp index a1e187889..1c33578be 100644 --- a/test/product_large.cpp +++ b/test/product_large.cpp @@ -33,4 +33,13 @@ void test_product_large() CALL_SUBTEST( product(MatrixXcf(ei_random<int>(1,50), ei_random<int>(1,50))) ); CALL_SUBTEST( product(Matrix<float,Dynamic,Dynamic,RowMajor>(ei_random<int>(1,320), ei_random<int>(1,320))) ); } + + { + // test a specific issue in DiagonalProduct + int N = 1000000; + VectorXf v = VectorXf::Ones(N); + MatrixXf m = MatrixXf::Ones(N,3); + m = (v+v).asDiagonal() * m; + VERIFY_IS_APPROX(m, MatrixXf::Constant(N,3,2)); + } } |