如何使用xt::repeat?
How to use xt::repeat?
我想以与 numpy
相同的方式获取重复数组,但 xt::repeat
returns 表达式。当我尝试将此表达式转换为数组时,出现编译错误。
xt::array<int> a = {{1, 2}, {3, 4}};
auto r = xt::repeat(a, 3, 1); // r is expression
xt::array<int> b = r; // compile error here
如何重复数组并将结果作为另一个数组而不是表达式?也许我在文档中遗漏了一些东西,但我找不到工作示例。
这是 xtensor
中的错误。我正在开发补丁,现在您可以使用以下解决方法:
xt::xarray<int> b(r.shape());
std::copy(r.cbegin(), r.cend(), b.begin());
我想以与 numpy
相同的方式获取重复数组,但 xt::repeat
returns 表达式。当我尝试将此表达式转换为数组时,出现编译错误。
xt::array<int> a = {{1, 2}, {3, 4}};
auto r = xt::repeat(a, 3, 1); // r is expression
xt::array<int> b = r; // compile error here
如何重复数组并将结果作为另一个数组而不是表达式?也许我在文档中遗漏了一些东西,但我找不到工作示例。
这是 xtensor
中的错误。我正在开发补丁,现在您可以使用以下解决方法:
xt::xarray<int> b(r.shape());
std::copy(r.cbegin(), r.cend(), b.begin());