Возвращение Xtensor указывает, где значение NaN - PullRequest
1 голос
/ 11 марта 2020

Предположим, у меня есть тензор:

xt::xtensor_fixed<float, xt::xshape<1, 4>, xt::layout_type::column_major> withnans =
 { {3, std::numeric_limits<double>::quiet_NaN(), 4, std::numeric_limits<double>::quiet_NaN()} };

т.е. {{3, nan, 4, nan}}

И я хотел вернуть позиции (индексы), где есть нан.

{1, 3}

Как мне это сделать в xtensor?

1 Ответ

1 голос
/ 11 марта 2020

Неважно.

xt::xtensor_fixed<float, xt::xshape<1, 4>, xt::layout_type::column_major> withnans =
 { {3, std::numeric_limits<double>::quiet_NaN(), 4, std::numeric_limits<double>::quiet_NaN()} };

std::cout << xt::flatten_indices(xt::argwhere(xt::isnan(xt::flatten(withnans)))) << std::endl;

{3}

...