Lines Matching refs:V
60 static void split(off_t *I,off_t *V,off_t start,off_t len,off_t h) in split() argument
66 j=1;x=V[I[k]+h]; in split()
68 if(V[I[k+i]+h]<x) { in split()
69 x=V[I[k+i]+h]; in split()
72 if(V[I[k+i]+h]==x) { in split()
77 for(i=0;i<j;i++) V[I[k+i]]=k+j-1; in split()
83 x=V[I[start+len/2]+h]; in split()
86 if(V[I[i]+h]<x) jj++; in split()
87 if(V[I[i]+h]==x) kk++; in split()
93 if(V[I[i]+h]<x) { in split()
95 } else if(V[I[i]+h]==x) { in split()
105 if(V[I[jj+j]+h]==x) { in split()
113 if(jj>start) split(I,V,start,jj-start,h); in split()
115 for(i=0;i<kk-jj;i++) V[I[jj+i]]=kk-1; in split()
118 if(start+len>kk) split(I,V,kk,start+len-kk,h); in split()
121 static void qsufsort(off_t *I,off_t *V,u_char *old,off_t oldsize) in qsufsort() argument
134 for(i=0;i<oldsize;i++) V[i]=buckets[old[i]]; in qsufsort()
135 V[oldsize]=0; in qsufsort()
147 len=V[I[i]]+1-i; in qsufsort()
148 split(I,V,i,len,h); in qsufsort()
156 for(i=0;i<oldsize+1;i++) I[V[i]]=i; in qsufsort()
244 off_t* V; in bsdiff() local
246 V = reinterpret_cast<off_t*>(malloc((oldsize+1) * sizeof(off_t))); in bsdiff()
247 qsufsort(*IP, V, old, oldsize); in bsdiff()
248 free(V); in bsdiff()