Lines Matching defs:min
114 Vcsfxint_t *min = idx+lo, *max = idx+hi;
117 for(i = min; i <= max; ++i)
119 min = min == sfx->idx ? min+1 : min;
121 for(; min <= max; ++min)
122 DEBUG_ASSERT(cmpsfx(sfx, min[-1], min[0]) < 0);
170 static void sfxswap(Vcsfxint_t* min, Vcsfxint_t* mid, Vcsfxint_t* max)
172 static void sfxswap(min, mid, max)
173 Vcsfxint_t* min;
180 if((n = max-mid) > (m = mid-min+1) )
182 for(; n > 0; --n, ++min, --max)
183 SWAP(*min, *max, m);
187 static void sfxqsort(Vcsfx_t* sfx, Vcsfxint_t* min, Vcsfxint_t* max, Vcsfxint_t hdr, int period)
189 static void sfxqsort(sfx, min, max, hdr, period)
191 Vcsfxint_t* min; /* sorting [min,max] */
200 q_sort: if((sz = max-min+1) <= INSERTSORT) /* insertion sort */
202 for(l = min+1; l <= max; ++l) /* insert *l into [0,l-1] */
204 for(r = l-1; r >= min; --r)
214 for(l = min; l <= max; ++l)
224 { ln = inv[min[RAND()%sz]+hdr];
225 mn = inv[min[RAND()%sz]+hdr];
226 rn = inv[min[RAND()%sz]+hdr];
232 for(le = (l = min)-1, re = (r = max)+1; l <= r; )
250 if(le >= min && le < r) /* swap [min,le]=pi && [le+1,r]<pi */
251 sfxswap(min, le, r);
254 le = min + (r-le); re = max - (re-l);
255 ln = le-min; mn = re-le+1; rn = max-re; /* partition sizes */
259 inv[*min] = min-idx;
262 sfxqsort(sfx, min, le-1, hdr, 0);
264 /**/DEBUG_ASSERT(chkdata(sfx,min-idx,(le-1)-idx));
288 /**/DEBUG_ASSERT(chkdata(sfx,min-idx,(le-1)-idx));
295 for(l = min; l < le; ++l)
301 /**/DEBUG_ASSERT(chkdata(sfx,min-idx,max-idx));
304 { min = le; max = re; hdr += 2; period = 1;