howbig.c
上传用户:zswatin
上传日期:2007-01-06
资源大小:440k
文件大小:1k
源码类别:

压缩解压

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <assert.h>
  3. #include "bzlib.h"
  4. unsigned char ibuff[1000000];
  5. unsigned char obuff[1000000];
  6. void doone ( int n )
  7. {
  8.    int i, j, k, q, nobuff;
  9.    q = 0;
  10.    for (k = 0; k < 1; k++) {
  11.       for (i = 0; i < n; i++)
  12.          ibuff[i] = ((unsigned long)(random())) & 0xff;
  13.       nobuff = 1000000;
  14.       j = bzBuffToBuffCompress ( obuff, &nobuff, ibuff, n, 9,0,0 );
  15.       assert (j == BZ_OK);
  16.       if (nobuff > q) q = nobuff;
  17.    }
  18.    printf ( "%d %d(%d)n", n, q, (int)((float)n * 1.01 - (float)q) );
  19. }
  20. int main ( int argc, char** argv )
  21. {
  22.    int i;
  23.    i = 0;
  24.    while (1) {
  25.      if (i >= 900000) break;
  26.      doone(i);
  27.      if (   (int)(1.10 * i) > i )
  28.         i = (int)(1.10 * i); else i++;
  29.    }
  30.    return 0;
  31. }