-static const unsigned bitreservoir_size = 8 * sizeof(bitreservoir_t);
-static const unsigned bitreservoir_fill_size = 8 * sizeof(bitreservoir_fill_t);
-static const unsigned bytereservoir_size = 4096;
+static const unsigned BITRESERVOIR_SIZE = 8 * sizeof(bitreservoir_t);
+static const unsigned BITRESERVOIR_FILL_SIZE = 8 * sizeof(bitreservoir_fill_t);
+static const unsigned BYTERESERVOIR_SIZE = 4096;
// A return value of -1 indicates error, a return value of 0 indicates EOF.
typedef ssize_t (input_func_t)(void*, uint8_t*, size_t);
// A return value of -1 indicates error, a return value of 0 indicates EOF.
typedef ssize_t (input_func_t)(void*, uint8_t*, size_t);
// Short-term bit reservoir; holds up to 64 bits. When it's empty,
// it needs to get refilled from the medium-term bit reservoir.
bitreservoir_t bits;
// Short-term bit reservoir; holds up to 64 bits. When it's empty,
// it needs to get refilled from the medium-term bit reservoir.
bitreservoir_t bits;
// Make sure there's at least NUM_BITS available in the short-term bit reservoir.
// You usually want to call this before read_bits(). The reason it's separate
// is that if you want two reads and you know the size of both, it's faster to
// refill A+B, read A, read B than refill A, read A, refill B, read B.
// Make sure there's at least NUM_BITS available in the short-term bit reservoir.
// You usually want to call this before read_bits(). The reason it's separate
// is that if you want two reads and you know the size of both, it's faster to
// refill A+B, read A, read B than refill A, read A, refill B, read B.
if (source->bytes_available >= sizeof(bitreservoir_fill_t)) {
bitreservoir_fill_t fill = read_bitreservoir_fill(source->bytes);
source->bytes += sizeof(bitreservoir_fill_t);
source->bytes_available -= sizeof(bitreservoir_fill_t);
if (source->bytes_available >= sizeof(bitreservoir_fill_t)) {
bitreservoir_fill_t fill = read_bitreservoir_fill(source->bytes);
source->bytes += sizeof(bitreservoir_fill_t);
source->bytes_available -= sizeof(bitreservoir_fill_t);
- source->bits |= (bitreservoir_t)fill << (bitreservoir_size - bitreservoir_fill_size - source->bits_available);
- source->bits_available += bitreservoir_fill_size;
+ source->bits |= (bitreservoir_t)fill << (BITRESERVOIR_SIZE - BITRESERVOIR_FILL_SIZE - source->bits_available);
+ source->bits_available += BITRESERVOIR_FILL_SIZE;