xtensor-julia
xtensor-julia copied to clipboard
Pass by reference
The assignment operation, i.e.,
xt::jltensor<double, 1> test(xt::jltensor<double, 1> u) {
xt::jltensor<double, 1> f = u;
return f;
}
cannot be performed in-place through
void test(xt::jltensor<double, 1> f, xt::jltensor<double, 1> u) {
f = u;
}
~~This is understandable since the argument is value instead of the reference.~~ Is there a workaround for the in-place mutation?
edit: an explicit for-loop can do this
void test1([T](xt::jltensor<double, 1> f, xt::jltensor<double, 1> u) {
int nu = u.shape(0);
for (int i = 0; i < nu; i++) {
f[i] = u[i];
}
}
But is there an easier way?