pkmndecompress/test_bitstream.c

23 lines
688 B
C

// x-run: make clean test_bitstream run_test_bitstream
#include "./bitstream.h"
int main(void) {
BitStream bs = bitstream_init_empty(16 * 2);
bitstream_set(bs, 16 * 0 + 0, 1);
bitstream_set(bs, 16 * 2 + 2, 1);
bitstream_set(bs, 16 * 4 + 4, 1);
bitstream_set(bs, 16 * 8 + 8, 1);
bitstream_set(bs, 16 * 4 + 4, 0);
printf(" ");
for (int i = 0; i < 16; i++) printf("%2x", i);
printf("\n");
for (int i = 0; !bitstream_end(bs); i++) {
if (i % 16 == 0) printf("%2x", i >> 4);
printf("\033[%dm ", bitstream_next(&bs) \
? (i >> 4 & 1 ? 47 : 107) \
: (i >> 4 & 1 ? 40 : 100));
if (i % 16 == 15) printf("\033[0m\n");
}
bitstream_unload(&bs);
}