MCPcopy Create free account
hub / github.com/DFHack/dfhack / ensureBits17

Function ensureBits17

depends/lodepng/lodepng.cpp:510–525  ·  view source on GitHub ↗

See ensureBits documentation above. This one ensures up to 17 bits */

Source from the content-addressed store, hash-verified

508
509/*See ensureBits documentation above. This one ensures up to 17 bits */
510static unsigned ensureBits17(LodePNGBitReader* reader, size_t nbits) {
511 size_t start = reader->bp >> 3u;
512 size_t size = reader->size;
513 if(start + 2u < size) {
514 reader->buffer = (unsigned)reader->data[start + 0] | ((unsigned)reader->data[start + 1] << 8u) |
515 ((unsigned)reader->data[start + 2] << 16u);
516 reader->buffer >>= (reader->bp & 7u);
517 return 1;
518 } else {
519 reader->buffer = 0;
520 if(start + 0u < size) reader->buffer |= reader->data[start + 0];
521 if(start + 1u < size) reader->buffer |= ((unsigned)reader->data[start + 1] << 8u);
522 reader->buffer >>= (reader->bp & 7u);
523 return reader->bp + nbits <= reader->bitsize;
524 }
525}
526
527/*See ensureBits documentation above. This one ensures up to 25 bits */
528static LODEPNG_INLINE unsigned ensureBits25(LodePNGBitReader* reader, size_t nbits) {

Callers 2

lode_png_test_bitreaderFunction · 0.85
getTreeInflateDynamicFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected