19 lines
781 B
Plaintext
19 lines
781 B
Plaintext
|
(make-bit-reader byte-reader) -> bit-reader
|
||
|
|
||
|
Given a BYTE-READER (a thunk), construct and return a function
|
||
|
|
||
|
(bit-reader N) -> integer
|
||
|
|
||
|
that reads N bits from a byte-stream represented by the BYTE-READER.
|
||
|
|
||
|
The BYTE-READER is a function that takes no arguments and returns
|
||
|
the current byte as an exact integer [0-255]. The byte reader
|
||
|
should return #f on EOF.
|
||
|
The bit reader returns N bits as an exact unsigned integer,
|
||
|
0 -... (no limit). N must be a positive integer, otherwise the bit reader
|
||
|
returns #f. There is no upper limit on N -- other than the size of the
|
||
|
input stream itself and the amount of (virtual) memory an OS is willing
|
||
|
to give to your process. If you want to read 1M of _bits_, go ahead.
|
||
|
|
||
|
It is assumed that the bit order is the most-significant bit first.
|