Skip to content

Commit

Permalink
Merge pull request #7866 from IvanYashchuk/ivan-fix-svd-copy
Browse files Browse the repository at this point in the history
Fix copies for `linalg.svd` python bindings layer in ChainerX
  • Loading branch information
hvy committed Aug 6, 2019
2 parents deb0fd0 + 8712829 commit 2ee2fd0
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions chainerx_cc/chainerx/python/routines.cc
Original file line number Diff line number Diff line change
Expand Up @@ -353,13 +353,13 @@ void InitChainerxLinalg(pybind11::module& m) {
"svd",
[](const ArrayBodyPtr& a, bool full_matrices, bool compute_uv) -> py::object {
std::tuple<Array, Array, Array> usvt = Svd(Array{a}, full_matrices, compute_uv);
Array u = std::get<0>(usvt);
Array s = std::get<1>(usvt);
Array vt = std::get<2>(usvt);
Array& u = std::get<0>(usvt);
Array& s = std::get<1>(usvt);
Array& vt = std::get<2>(usvt);
if (!compute_uv) {
return py::cast(MoveArrayBody(Array{s}));
return py::cast(MoveArrayBody(std::move(s)));
}
return py::make_tuple(MoveArrayBody(Array{u}), MoveArrayBody(Array{s}), MoveArrayBody(Array{vt}));
return py::make_tuple(MoveArrayBody(std::move(u)), MoveArrayBody(std::move(s)), MoveArrayBody(std::move(vt)));
},
"a"_a,
"full_matrices"_a = true,
Expand Down

0 comments on commit 2ee2fd0

Please sign in to comment.