remove a bunch of <functional> includes

This forces us to use an explicit hash class in a few place, but it
is cleaner.

remove utils::lower_bound and utils::upper_bound, which were not used.
This commit is contained in:
Mathias Agopian
2022-06-02 14:43:40 -07:00
committed by Mathias Agopian
parent 991fa0cf7d
commit 718e7ab064
24 changed files with 69 additions and 326 deletions

View File

@@ -138,91 +138,6 @@ TEST(AlgorithmTest, popcount) {
}
}
TEST(AlgorithmTest, UpperBounds) {
int* r;
int array[8] = { 0, 1, 2, 3, 4, 5, 6, 7 };
for (int i = 0; i < 8; i++) {
r = utils::upper_bound(std::begin(array), std::end(array), array[i]);
EXPECT_EQ(i + 1, r - std::begin(array));
}
r = utils::upper_bound(std::begin(array), std::end(array), 100);
EXPECT_EQ(std::end(array), r);
r = utils::upper_bound(std::begin(array), std::end(array), -1);
EXPECT_EQ(std::begin(array), r);
int array2[8] = { 0, 0, 0, 1, 1, 1, 2, 2 };
r = utils::upper_bound(std::begin(array2), std::end(array2), 0);
EXPECT_EQ(std::begin(array2) + 3, r);
r = utils::upper_bound(std::begin(array2), std::end(array2), 1);
EXPECT_EQ(std::begin(array2) + 6, r);
r = utils::upper_bound(std::begin(array2), std::end(array2), 2);
EXPECT_EQ(std::end(array2), r);
int arrayNPotEven[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 0; i < 10; i++) {
r = utils::upper_bound(std::begin(arrayNPotEven), std::end(arrayNPotEven), arrayNPotEven[i]);
EXPECT_EQ(i + 1, r - std::begin(arrayNPotEven));
}
int arrayNPotOdd[15] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };
for (int i = 0; i < 15; i++) {
r = utils::upper_bound(std::begin(arrayNPotOdd), std::end(arrayNPotOdd), arrayNPotOdd[i]);
EXPECT_EQ(i + 1, r - std::begin(arrayNPotOdd));
}
std::array<int, 4> arr = {{1, 10, 15, 50}};
EXPECT_EQ(50, *utils::upper_bound(arr.begin(), arr.end(), 15));
}
TEST(AlgorithmTest, LowerBounds) {
int* r;
int array[8] = { 0, 1, 2, 3, 4, 5, 6, 7 };
for (int i = 0; i < 8; i++) {
r = utils::lower_bound(std::begin(array), std::end(array), array[i]);
EXPECT_EQ(i, r - std::begin(array));
}
r = utils::lower_bound(std::begin(array), std::end(array), 100);
EXPECT_EQ(std::end(array), r);
r = utils::lower_bound(std::begin(array), std::end(array), -1);
EXPECT_EQ(std::begin(array), r);
int array2[8] = { 0, 0, 0, 1, 1, 1, 2, 2 };
r = utils::lower_bound(std::begin(array2), std::end(array2), 0);
EXPECT_EQ(std::begin(array2), r);
r = utils::lower_bound(std::begin(array2), std::end(array2), 1);
EXPECT_EQ(std::begin(array2) + 3, r);
r = utils::lower_bound(std::begin(array2), std::end(array2), 2);
EXPECT_EQ(std::begin(array2) + 6, r);
int arrayNPotEven[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 0; i < 10; i++) {
r = utils::lower_bound(std::begin(arrayNPotEven), std::end(arrayNPotEven), arrayNPotEven[i]);
EXPECT_EQ(i, r - std::begin(arrayNPotEven));
}
int arrayNPotOdd[15] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };
for (int i = 0; i < 15; i++) {
r = utils::lower_bound(std::begin(arrayNPotOdd), std::end(arrayNPotOdd), arrayNPotOdd[i]);
EXPECT_EQ(i, r - std::begin(arrayNPotOdd));
}
std::array<int, 4> arr = {{1, 10, 15, 50}};
EXPECT_EQ(15, *utils::lower_bound(arr.begin(), arr.end(), 15));
}
TEST(AlgorithmTest, Partition) {
int* r;
int array[8] = { 2, 5, 4, 8, 9, 9, 9, 9 };