@@ -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