7 std::vector<T> new_data;
8 new_data.reserve(
data.size());
9 std::transform(perm.begin(), perm.end(), std::back_inserter(new_data), [&
data](
int ind) {
18 auto new_data =
new T[data_size];
19 for (
auto i = 0;
i < perm.size(); ++
i) {
20 new_data[
i] =
data[perm[
i]];
24 for (
auto i = 0;
i < perm.size(); ++
i) {
32 std::vector<T> pinv(
p.size());
33 for (
int i = 0;
i <
p.size(); ++
i) {
void move(Item *q1, Item *q2, Item *q3)
data_handle< T > transform(data_handle< T > handle, Transform type)
std::vector< T > inverse_permute_vector(const std::vector< T > &p)
void forward_permute(std::vector< T > &data, const std::vector< int > &perm)