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