Lines Matching defs:nstr
66 return (lo == 0 && hi == sfx->nstr-1) ? 1 : 0;
103 p = sfx->nstr-p; s = sfx->nstr-s;
120 max = max < (sfx->idx+sfx->nstr-1) ? max+1 : max;
145 for(ends = (s = sfx->str)+sfx->nstr-1, i = *s; s < ends; i = j)
152 { inv[sfx->nstr-1] = n;
153 idx[n++] = sfx->nstr-1;
157 for(n = 0, ends = (s = sfx->str)+sfx->nstr-1, i = *s; s < ends; i = j)
161 for(n = 0, ends = (s = sfx->str)+sfx->nstr-1, i = *s; s < ends; i = j)
166 grp[256*256] = sfx->nstr; /* end of 255*255-group */
323 Vcsfxint_t endc = sfx->str[sfx->nstr-1];
369 Vcchar_t *str = sfx->str, endc = sfx->str[sfx->nstr-1];
370 Vcsfxint_t nstr = sfx->nstr, *inv = sfx->inv, *idx = sfx->idx;
387 { if((i = idx[l + RAND()%r]+2) >= nstr-1 || str[i] != x )
425 Vcsfx_t* vcsfxsort(const Void_t* astr, ssize_t nstr)
427 Vcsfx_t* vcsfxsort(astr, nstr)
429 ssize_t nstr; /* length of string */
439 if(!(str = (Vcchar_t*)astr) || nstr <= 0)
440 { str = NIL(Vcchar_t*); nstr = 0; }
442 if(!(sfx = (Vcsfx_t*)malloc(sizeof(Vcsfx_t)+2*(nstr+1)*sizeof(Vcsfxint_t))) )
445 sfx->inv = inv = idx+nstr+1;
447 sfx->nstr = (Vcsfxint_t)nstr;
448 idx[sfx->nstr] = inv[sfx->nstr] = sfx->nstr; /* the infinite eos byte */
449 if(sfx->nstr <= 1) /* the easy sorting case */
455 endc = str[nstr-1];
534 /**/DEBUG_ASSERT(chkdata(sfx,0,sfx->nstr-1) && chksorted(sfx,0,sfx->nstr-1) );