To format the documentation, type "make doc.dvi" and print the result.

The length of the cost vectors is fixed at 4 for reasons that are
primarily historical.  To change it, edit the definition of DELTAWIDTH
in b.h.

Burg is compiled without optimization by default to avoid problems
with initial installation.  To improve burg's performance, add '-O' to
CFLAGS in the Makefile and rebuild burg with a high quality optimizing
compiler.

To be added to the Burg mailing list, send your preferred electronic
mail address to cwf@research.att.com.

