#include "m.h" static void sseg(C long i, C long j, b32 C bit) {long k=i, l=j; if(i=l) break; {sx t = LM[l]; LM[l] = LM[k]; LM[k] = t; ++k; --l;}} {b32 C nb = Ebug?bit<<1:bit>>1; sseg(i, k-1, nb); sseg(l+1, j, nb);} LM[i-1].sig=ah; LM[j+1].sig=bh;}} void sort(){sseg(1, mcnt-1, Ebug?1:1L << 31);} #if 0 #define tsiz 20000 void sff(int C i, int C j, char * m){long c; fprintf(out,"sff:%s i=%d, j=%d\n", m, i, j); for(c=i; c<=j; ++c) fprintf(out,"%ld.%08lx\n", c, LM[c].sig);} extern long seed; long Rnd(void); b32 mcnt=1, chr_cnt=0, fcnt=0, GBlc=0; int main(){b32 sm=0; seed=333; finit(); {int j; for(j=1; j LM[j+1].sig) fprintf(out,"Bam!\n"); sm-= LM[j].sig;} sm -= LM[tsiz-1].sig; if(sm) fprintf(out,"%08lx should be zero!\n", sm);} if(0)sff(1, tsiz-1, "End:");} #endif