[Mndiff-dev] [mndiff]: r30 - trunk/mnzip/mnzip.c

michael subversion at mplayerhq.hu
Sun Jun 17 10:24:39 CEST 2007


Author: michael
Date: Sun Jun 17 10:24:38 2007
New Revision: 30

Log:
use median of 3 as pivot (slightly faster)


Modified:
   trunk/mnzip/mnzip.c

Modified: trunk/mnzip/mnzip.c
==============================================================================
--- trunk/mnzip/mnzip.c	(original)
+++ trunk/mnzip/mnzip.c	Sun Jun 17 10:24:38 2007
@@ -207,6 +207,13 @@ static void qsort2(uint8_t **ptr, int *i
     assert(len>1);
 
     pivot= idx[len>>1];
+    if(idx[0] < pivot){
+        if     (idx[len-1] < idx[0]) pivot= idx[0];
+        else if(idx[len-1] < pivot ) pivot= idx[len-1];
+    }else{
+        if     (idx[len-1] > idx[0]) pivot= idx[0];
+        else if(idx[len-1] > pivot ) pivot= idx[len-1];
+    }
     i=0;
     while(j<=k){
         int v= idx[j];



More information about the Mndiff-dev mailing list