AK: Fix the signature of binary_search.
This commit is contained in:
parent
18b3de7555
commit
8e08d9f70a
Notes:
sideshowbarker
2024-07-19 03:07:11 +09:00
Author: https://github.com/asynts Commit: https://github.com/SerenityOS/serenity/commit/8e08d9f70ac Pull-request: https://github.com/SerenityOS/serenity/pull/3309 Reviewed-by: https://github.com/awesomekling Reviewed-by: https://github.com/stelar7
2 changed files with 6 additions and 6 deletions
|
@ -33,13 +33,13 @@
|
|||
namespace AK {
|
||||
|
||||
template<typename T>
|
||||
int integral_compare(const T& a, const T& b)
|
||||
int integral_compare(const typename RemoveConst<T>::Type& a, const typename RemoveConst<T>::Type& b)
|
||||
{
|
||||
return a - b;
|
||||
}
|
||||
|
||||
template<typename T, typename Compare>
|
||||
T* binary_search(Span<T> haystack, const T& needle, Compare compare = integral_compare, size_t* nearby_index = nullptr)
|
||||
T* binary_search(Span<T> haystack, const typename RemoveConst<T>::Type& needle, Compare compare = integral_compare, size_t* nearby_index = nullptr)
|
||||
{
|
||||
if (haystack.size() == 0) {
|
||||
if (nearby_index)
|
||||
|
|
|
@ -50,9 +50,9 @@ TEST_CASE(array_doubles)
|
|||
{
|
||||
double doubles[] = { 1.1, 9.9, 33.33 };
|
||||
|
||||
auto test1 = *binary_search({ doubles, 3 }, 1.1, AK::integral_compare<double>);
|
||||
auto test2 = *binary_search({ doubles, 3 }, 9.9, AK::integral_compare<double>);
|
||||
auto test3 = *binary_search({ doubles, 3 }, 33.33, AK::integral_compare<double>);
|
||||
auto test1 = *binary_search(Span<double> { doubles, 3 }, 1.1, AK::integral_compare<double>);
|
||||
auto test2 = *binary_search(Span<double> { doubles, 3 }, 9.9, AK::integral_compare<double>);
|
||||
auto test3 = *binary_search(Span<double> { doubles, 3 }, 33.33, AK::integral_compare<double>);
|
||||
EXPECT_EQ(test1, 1.1);
|
||||
EXPECT_EQ(test2, 9.9);
|
||||
EXPECT_EQ(test3, 33.33);
|
||||
|
@ -110,7 +110,7 @@ TEST_CASE(no_elements)
|
|||
|
||||
TEST_CASE(huge_char_array)
|
||||
{
|
||||
const size_t N = 2147483680;
|
||||
const size_t N = 2147483680;
|
||||
Bytes span { new (std::nothrow) u8[N], N };
|
||||
EXPECT(span.data() != nullptr);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue