From beabf008b04dc9b449b23f082bab76d384983b73 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 10 Dec 2008 19:02:13 +0000 Subject: bugfix in DiagonalProduct: a "DiagonalProduct" expression is now evaluated as a "DiagonalProduct >". Note that currently this only happens in DiagonalProduct. --- test/product_large.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/product_large.cpp') 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(1,50), ei_random(1,50))) ); CALL_SUBTEST( product(Matrix(ei_random(1,320), ei_random(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)); + } } -- cgit v1.2.3