9 #include "../libcelt/stack_alloc.h"
11 #include "../libcelt/rangeenc.c"
12 #include "../libcelt/rangedec.c"
13 #include "../libcelt/entenc.c"
14 #include "../libcelt/entdec.c"
15 #include "../libcelt/entcode.c"
16 #include "../libcelt/laplace.c"
18 #define DATA_SIZE 40000
28 int val[10000], decay[10000];
30 ptr = malloc(DATA_SIZE);
31 ec_byte_writeinit_buffer(&buf, ptr, DATA_SIZE);
32 //ec_byte_writeinit(&buf);
33 ec_enc_init(&enc,&buf);
35 val[0] = 3; decay[0] = 6000;
36 val[1] = 0; decay[1] = 5800;
37 val[2] = -1; decay[2] = 5600;
41 decay[i] = rand()%11000+5000;
44 ec_laplace_encode(&enc, &val[i], decay[i]);
48 ec_byte_readinit(&buf,ec_byte_get_buffer(&buf),ec_byte_bytes(&buf));
49 ec_dec_init(&dec,&buf);
53 int d = ec_laplace_decode(&dec, decay[i]);
56 fprintf (stderr, "Got %d instead of %d\n", d, val[i]);