Registered Member
|
Hi,
tested with 3.2.5 and 3.3 alpha1: "all" method exists but not the "any" method (?): example: [OK] build is OK Eigen::Map<Eigen::Matrix<logical, Eigen::Dynamic, Eigen::Dynamic>> matA((logical*)A.getDataPointer(), mA, nA); Eigen::Map<Eigen::Matrix<logical, Eigen::Dynamic, Eigen::Dynamic>> matC(logicalarray, 1, nA); matC = matA.colwise().all(); [NOT OK] build failed Eigen::Map<Eigen::Matrix<logical, Eigen::Dynamic, Eigen::Dynamic>> matA((logical*)A.getDataPointer(), mA, nA); Eigen::Map<Eigen::Matrix<logical, Eigen::Dynamic, Eigen::Dynamic>> matC(logicalarray, 1, nA); matC = matA.colwise().any(); 1>e:\eigen\eigen\src/Core/VectorwiseOp.h(411): error C3861: 'Any': identifier not found 1> e:\eigen\eigen\src/Core/VectorwiseOp.h(411) : while compiling class template member function 'const Eigen::PartialReduxExpr<ExpressionType,Eigen::internal::member_any<Scalar_>,0> Eigen::VectorwiseOp<ExpressionType,0>::any(void) const' 1> with 1> [ 1> ExpressionType=Eigen::Map<Eigen::Matrix<NelSon::logical,-1,-1,0,-1,-1>,0,Eigen::Stride<0,0>> 1> , Scalar_=unsigned char 1> ] 1> ..\cpp\AnyLogical.cpp(16) : see reference to function template instantiation 'const Eigen::PartialReduxExpr<ExpressionType,Eigen::internal::member_any<Scalar_>,0> Eigen::VectorwiseOp<ExpressionType,0>::any(void) const' being compiled 1> with 1> [ 1> ExpressionType=Eigen::Map<Eigen::Matrix<NelSon::logical,-1,-1,0,-1,-1>,0,Eigen::Stride<0,0>> 1> , Scalar_=unsigned char 1> ] 1> ..\cpp\AnyLogical.cpp(16) : see reference to class template instantiation 'Eigen::VectorwiseOp<Derived,0>' being compiled 1> with 1> [ 1> Derived=Eigen::Map<Eigen::Matrix<NelSon::logical,-1,-1,0,-1,-1>,0,Eigen::Stride<0,0>> 1> ] What did I miss ? Thanks |
Moderator
|
ouch, that's a typo in the implementation of any() where 'Any' should be 'AnyReturnType'...
|
Moderator
|
Fixed in devel branch (https://bitbucket.org/eigen/eigen/commits/4d0e3c7b834c/), but it works for me with eigen 3.2
|
Registered users: Bing [Bot], Google [Bot], q.ignora, watchstar