Skip to content

Commit

Permalink
Minor tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
ntrel committed Mar 25, 2023
1 parent a11485e commit e282bec
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions std/algorithm/searching.d
Original file line number Diff line number Diff line change
Expand Up @@ -3862,7 +3862,9 @@ if (isInputRange!Range && !isInfinite!Range &&
}

/** Returns an array of the minimum and maximum element in `r`.
* Makes `< 3n/2` comparisons.
* Performs `< 3n/2` comparisons, unlike the naive `< 2n`.
* Params:
* r = The range to traverse.
*/
// TODO alias map = a => a
ElementType!Range[2] extrema(Range)(Range r)
Expand Down Expand Up @@ -3907,15 +3909,20 @@ in (!r.empty)
return result;
}

unittest
///
@safe unittest
{
assert(extrema([5,2,9,4,1]) == [1, 9]);
}

@safe unittest
{
assert(extrema([8,3,7,4,9]) == [3, 9]);
assert(extrema([1,5,3,2]) == [1, 5]);
assert(extrema([2,3,3,2]) == [2, 3]);

version (StdRandomTests)
foreach (i; 0..1000)
foreach (i; 0 .. 1000)
{
import std.random, std.range;
auto arr = generate!(() => uniform(0, 100)).takeExactly(uniform(1, 10)).array;
Expand Down

0 comments on commit e282bec

Please sign in to comment.