Skip to content

Commit e820eb7

Browse files
committed
minor edit
1 parent 0341e01 commit e820eb7

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

Objects/listobject.c

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1784,7 +1784,7 @@ binarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, flo
17841784
if (adapt) {
17851785
Py_ssize_t diff = ok; // jump (jump out on 1st loop to not kick in)
17861786
Py_ssize_t last = ok >> 1; // mid point (simple binary on 1st loop)
1787-
float ns = 5.0f; // number of successes (a bit of head start)
1787+
Py_ssize_t ns = 5; // number of successes (a bit of head start)
17881788
float seen = 0.0f; // number of loops done
17891789
// const float adapt = 1.3; // adaptivity strength
17901790
for (; ok < n && ns * adapt >= seen; ++ok) {
@@ -1802,27 +1802,26 @@ binarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, flo
18021802
IFLT(pivot, a[M]) {
18031803
R = M;
18041804
if (L < R) {
1805-
diff += 1;
18061805
M = R - diff;
18071806
if (M < L)
18081807
M = L;
18091808
IFLT(pivot, a[M])
18101809
R = M;
18111810
else
18121811
L = M + 1;
1813-
ns += (float)(R - L) * 8 < ok;
1812+
ns += (R - L) * 8 < ok;
18141813
}
18151814
else {
1816-
ns += 2.0f;
1815+
ns += 2;
18171816
}
18181817
}
18191818
else {
18201819
L = M + 1;
1821-
ns += (float)(R - L) * 4 < ok;
1820+
ns += (R - L) * 4 < ok;
18221821
}
18231822
}
18241823
else {
1825-
ns += 2.0f;
1824+
ns += 2;
18261825
}
18271826
}
18281827
else {
@@ -1834,28 +1833,27 @@ binarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, flo
18341833
M = R - 1;
18351834
IFLT(pivot, a[M]) {
18361835
R = M;
1837-
ns += (float)(R - L) * 4 < ok;
1836+
ns += (R - L) * 4 < ok;
18381837
}
18391838
else {
18401839
L = M + 1;
18411840
if (L < R) {
1842-
diff += 1;
18431841
M = L + diff;
18441842
if (M >= R)
18451843
M = R - 1;
18461844
IFLT(pivot, a[M])
18471845
R = M;
18481846
else
18491847
L = M + 1;
1850-
ns += (float)(R - L) * 8 < ok;
1848+
ns += (R - L) * 8 < ok;
18511849
}
18521850
else {
1853-
ns += 2.0f;
1851+
ns += 2;
18541852
}
18551853
}
18561854
}
18571855
else {
1858-
ns += 2.0f;
1856+
ns += 2;
18591857
}
18601858
}
18611859

@@ -1887,9 +1885,9 @@ binarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, flo
18871885
}
18881886
if (ok >= n) {
18891887
// Successfully ran fully adaptive
1890-
// Else go to simple binary sort
18911888
return 1;
18921889
}
1890+
// Else go to simple binary sort
18931891
}
18941892

18951893
/* Regular insertion sort has average- and worst-case O(n**2) cost

0 commit comments

Comments
 (0)