link bitstrm
August 14, 1996; Robert J. Alexander
See also: bitstr.icn
This file is in the public domain.
Procedures for reading and writing integer values made up of an arbitrary number of bits, stored without regard to character boundaries. ____________________________________________________________ Usage of BitStreamWrite, by example: record bit_value(value, nbits) ... BitStreamWrite() #initialize while value := get_new_value() do # loop to output values BitStreamWrite(outfile, value.nbits, value.value) BitStreamWrite(outfile) # output any buffered bits Note the interesting effect that BitStreamWrite(outproc), as well as outputting the complete string, pads the output to an even character boundary. This can be dune during construction of a bit string if the effect is desired. The "value" argument defaults to zero. ____________________________________________________________ Usage of BitStreamRead, by example: BitStreamRead() while value := BitStreamRead(infile, nbits) do # do something with value BitStringRead fails when too few bits remain to satisfy a request.