#include <stdio.h>
#include "blosc2.h"
int main(void) {
blosc2_init();
static uint8_t data_dest[BLOSC2_MAX_OVERHEAD];
blosc2_cparams cparams = BLOSC2_CPARAMS_DEFAULTS;
cparams.typesize = sizeof(float);
cparams.compcode = BLOSC_ZSTD;
printf("Blosc version info: %s (%s)\n",
BLOSC2_VERSION_STRING, BLOSC2_VERSION_DATE);
for (int clevel=0; clevel < 10; clevel++) {
cparams.clevel = clevel;
cparams.splitmode = clevel % 2;
int isize = 10 * 1000 * 1000;
int osize, csize, blocksize;
csize = blosc2_chunk_zeros(cparams, isize, data_dest, BLOSC2_MAX_OVERHEAD);
printf("Compression: %d -> %d (%.1fx)\n", isize, csize, (1. * isize) / csize);
BLOSC_ERROR(blosc2_cbuffer_sizes(data_dest, &osize, &csize, &blocksize));
printf("osize, csize, blocksize: %d, %d, %d\n", osize, csize, blocksize);
}
blosc2_destroy();
return 0;
}