如果我使用布尔张量的总和,则重用永远是1
Eigen::Tensor<int,2> my_rankx (3,3);
my_rankx.setValues(
{
{1, 2, 3},
{0, 0, 0},
{11, 12, 0}
});
auto number_matrix = (my_rankx.constant(static_cast<int>(0))==my_rankx);
cout<<number_matrix.sum()<<endl; // result of cout is 1
答案 0 :(得分:1)
user.action
是(my_rankx.constant(0) == my_rankx)
的张量,将bool
加在一起将得到bool
或false
,将它们转换为{{1 }}和true
。 (顺便提一下,问题中的0
是多余的,因为1
的类型为static_cast<int>(0)
。)
您可以将std::count
与data()
一起使用:
0