Re: [eigen] Tensor .select() with mixed tensor/scalar arguments |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Hello,
The following simplified program does not compile with Eigen HEAD:
#include <unsupported/Eigen/CXX11/Tensor>
int main(const int argc, const char *const argv[])
{
Eigen::Tensor<float, 2> ft_A(2, 4), ft_B(2, 4), ft_result(2, 4);
ft_A.setRandom();
ft_B.setZero();
ft_result = (ft_A < 0.5f).select(ft_A, ft_B);
ft_result = (ft_A < 0.5f).select(ft_A, 0.f);
}
The first call to ft_result compiles fine, but the second does not. The first line of compile errors is:
Eigen/src/Core/util/ForwardDeclarations.h:23:47: error: implicit instantiation of undefined template 'Eigen::internal::traits<float>
So it looks to me like Eigen tries to treat the 0.f as an Eigen tensor, rather than as the scalar type.
Does this count as a bug and if so should I open a bug on the tracker? I looked at trying to fix it myself but sadly this kind of Eigen issue is out of my league.
Best wishes,
Toby
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |