File bitstrm.icn

Summary

###########################################################################

	File:     bitstrm.icn

	Subject:  Procedures to read and write strings of bits in files

	Author:   Robert J. Alexander

	Date:     August 14, 1996

###########################################################################

   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.

###########################################################################

  See also: bitstr.icn

###########################################################################
Procedures:
BitStreamRead, BitStreamWrite

This file is part of the (main) package.

Source code.

Details
Procedures:

BitStreamRead(infile, bits, inproc)


BitStreamWrite(outfile, bits, value, outproc)



This page produced by UniDoc on 2021/04/15 @ 23:59:54.