aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/product_large.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/product_large.cpp')
-rw-r--r--test/product_large.cpp9
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));
+ }
}