/source/libs/bzlib/howbig.c
C | 37 lines | 31 code | 6 blank | 0 comment | 8 complexity | b0911ee75d010a484dcdd54ec9b3f016 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0
- #include <stdio.h>
- #include <assert.h>
- #include "bzlib.h"
- unsigned char ibuff[1000000];
- unsigned char obuff[1000000];
- void doone ( int n )
- {
- int i, j, k, q, nobuff;
- q = 0;
- for (k = 0; k < 1; k++) {
- for (i = 0; i < n; i++)
- ibuff[i] = ((unsigned long)(random())) & 0xff;
- nobuff = 1000000;
- j = bzBuffToBuffCompress ( obuff, &nobuff, ibuff, n, 9,0,0 );
- assert (j == BZ_OK);
- if (nobuff > q) q = nobuff;
- }
- printf ( "%d %d(%d)\n", n, q, (int)((float)n * 1.01 - (float)q) );
- }
- int main ( int argc, char** argv )
- {
- int i;
- i = 0;
- while (1) {
- if (i >= 900000) break;
- doone(i);
- if ( (int)(1.10 * i) > i )
- i = (int)(1.10 * i); else i++;
- }
- return 0;
- }