Lines Matching defs:max
48 #define MAXHEADER 1024 /* max hdr to limit sfxqsort recursion */
114 Vcsfxint_t *min = idx+lo, *max = idx+hi;
117 for(i = min; i <= max; ++i)
120 max = max < (sfx->idx+sfx->nstr-1) ? max+1 : max;
121 for(; min <= max; ++min)
170 static void sfxswap(Vcsfxint_t* min, Vcsfxint_t* mid, Vcsfxint_t* max)
172 static void sfxswap(min, mid, max)
175 Vcsfxint_t* max;
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] */
192 Vcsfxint_t* 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] */
214 for(l = min; l <= max; ++l)
221 pi = inv[*max]; /* looking for periodic subsequences */
232 for(le = (l = min)-1, re = (r = max)+1; l <= r; )
252 if(l < re && re <= max) /* swap [l,re-1]>pi && [re,max]=pi */
253 sfxswap(l, re-1, max);
254 le = min + (r-le); re = max - (re-l);
255 ln = le-min; mn = re-le+1; rn = max-re; /* partition sizes */
283 inv[*max] = max-idx;
286 sfxqsort(sfx, re+1, max, hdr, 0);
298 for(r = max; r > re; --r)
301 /**/DEBUG_ASSERT(chkdata(sfx,min-idx,max-idx));
304 { min = le; max = re; hdr += 2; period = 1;