Skip to content

Commit a8bf137

Browse files
Reduce the range of elements sorted by partialsort (#47191)
Co-authored-by: Petr Vana <[email protected]>
1 parent 13c0060 commit a8bf137

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

base/sort.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ issorted(itr;
8686
issorted(itr, ord(lt,by,rev,order))
8787

8888
function partialsort!(v::AbstractVector, k::Union{Integer,OrdinalRange}, o::Ordering)
89-
sort!(v, PartialQuickSort(k), o)
89+
sort!(v, _PartialQuickSort(k), o)
9090
maybeview(v, k)
9191
end
9292

@@ -436,6 +436,8 @@ struct PartialQuickSort{L<:Union{Integer,Missing}, H<:Union{Integer,Missing}} <:
436436
end
437437
PartialQuickSort(k::Integer) = PartialQuickSort(missing, k)
438438
PartialQuickSort(k::OrdinalRange) = PartialQuickSort(first(k), last(k))
439+
_PartialQuickSort(k::Integer) = PartialQuickSort(k, k)
440+
_PartialQuickSort(k::OrdinalRange) = PartialQuickSort(k)
439441

440442
"""
441443
InsertionSort
@@ -1082,7 +1084,7 @@ function partialsortperm!(ix::AbstractVector{<:Integer}, v::AbstractVector,
10821084
end
10831085

10841086
# do partial quicksort
1085-
sort!(ix, PartialQuickSort(k), Perm(ord(lt, by, rev, order), v))
1087+
sort!(ix, _PartialQuickSort(k), Perm(ord(lt, by, rev, order), v))
10861088

10871089
maybeview(ix, k)
10881090
end

0 commit comments

Comments
 (0)