mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 08:58:11 +00:00
AK: Fix the signature of binary_search.
This commit is contained in:
parent
18b3de7555
commit
8e08d9f70a
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue