The following code snippet will not compile since cc is a mapping. std::vector<double> value(5, 0); Eigen::Map<Eigen::VectorXd> cc(value.data(), value.size()); auto dd = cc.cwiseMax(3); auto ee = cc.array().cwiseMax(3); Other functions, like cwiseInverse(), cwiseAbs() work well.
I fixed this in the dev-branch: https://bitbucket.org/eigen/eigen/commits/ab2547dbf681f4248792491315f08808b2739b22 A unit case for this would actually be nice (therefore I don't close it yet).
unit test: https://bitbucket.org/eigen/eigen/commits/ab730abc5eae/ Changeset: ab730abc5eae User: ggael Date: 2013-10-15 23:51:01 Summary: bug 679: add respective unit test Both changesets have been backported to 3.2
The unit test still does not cover Maps or Blocks (or .transpose(), ...)
we cannot test all operations with all possible expressions. The problem was that cwiseMin/Max worked only on Matrix or Array object. The new tests check for a more general expression that seems enough to me.
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/679.