PageRenderTime 56ms CodeModel.GetById 31ms RepoModel.GetById 0ms app.codeStats 0ms

/source/libs/bzlib/howbig.c

https://bitbucket.org/val_haris/asc-ai
C | 37 lines | 31 code | 6 blank | 0 comment | 8 complexity | b0911ee75d010a484dcdd54ec9b3f016 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0
  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. }