34TEST(VectorTest, inverse_permute) {
35 std::vector<double> a = {1.0, 2.0, 3.0, 4.0};
36 std::vector<uint64_t> inversePermutation = {0, 3, 1, 2};
38 EXPECT_EQ(aperm[0], a[0]);
39 EXPECT_EQ(aperm[1], a[3]);
40 EXPECT_EQ(aperm[2], a[1]);
41 EXPECT_EQ(aperm[3], a[2]);
44TEST(VectorTest, grouped_inverse_permute) {
45 std::vector<double> a = {1.0, 2.0, 3.0, 4.0, 5.0};
46 std::vector<uint64_t> groupIndices = {0, 3, 5, 5};
47 std::vector<uint64_t> inversePermutation = {1, 2, 0};
49 std::vector<double> expected = {4.0, 5.0, 1.0, 2.0, 3.0};
50 EXPECT_EQ(aperm, expected);