diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index 548656209..a1ec6b8d2 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -91,8 +91,9 @@ struct ei_product_eval_mode { enum { SizeAtCompileTime = MatrixBase >::SizeAtCompileTime, + MaxSizeAtCompileTime = MatrixBase >::MaxSizeAtCompileTime, EvalMode = ( EIGEN_UNROLLED_LOOPS - && SizeAtCompileTime != Dynamic + && MaxSizeAtCompileTime != Dynamic && SizeAtCompileTime <= EIGEN_UNROLLING_LIMIT) ? UnrolledDotProduct : CacheOptimal, }; }; diff --git a/doc/echelon.cpp b/doc/echelon.cpp index 8e3b03cd9..d28726b0f 100644 --- a/doc/echelon.cpp +++ b/doc/echelon.cpp @@ -67,8 +67,8 @@ int main(int, char **) // now m is still a matrix of rank N-1 cout << "Here's the matrix m:" << endl << m << endl; - cout << "Now let's echelon m:" << endl; - echelon(m); + cout << "Now let's echelon m (repeating many times for benchmarking purposes):" << endl; + for(int i = 0; i < 1000000; i++) echelon(m); cout << "Now m is:" << endl << m << endl; }