Chapter 1: Numbers and Arithmetic
 quotrem.c: compute the quotient and
remainder table in Sec.1.1.0, p.3.
 gcd.c: Euclid's algorithm and its recursive
version. Sec.1.1.0, p.4, and Sec.A.1, Solution 2, p.223.
 quasiinv.c: compute the quasiinverse
of an integer with respect to a modulus. Sec.1.1.1, p.8, and Sec.A.1,
Solution 5, p.224.
 tobinary.c: compute the binary and
hexadecimal digits of a decimal integer. Sec.1.1.2, p.9, and Sec.A.1,
p.225.
 pihex.c: compute the hexadecimal expansion
of pi. Sec.1.1.2, p.9, and Sec.A.1, Solution 10, p.226.
 sum.c: add up 100,000,000 1.0's to
demonstrate singleprecision truncation error. Sec.1.2.2, p.16, and
Sec.A.1, Solution 12, p.226.
 ieee32.c: interpret 32 ones and zeroes
as an IEEE 32bit floatingpoint number. Sec.1.2.2, pp.1618, and
Sec.A.1, Solution 13, pp.226227.
Chapter 2: Space and Linearity
 gramschm.c: orthonormalize three
vectors in fourdimensional space using the GramSchmidt algorithm. Sec.2.1,
pp.3839, and Sec.A.2, p.230.
 gepp.c: Gaussian elimination with partial
pivoting gepp(); LU decomposition lupp(); matrix inversion mipp(); linear
system solution from LU and pivoting data sslu(). Sec.2.2, pp.5861.
Chapter 3: Time and Frequency
 fray.c: midpoint fraying and splicing.
Sec.3.1.2, pp.7880.
 fft.c: factored discrete Fourier transform,
or FFT, and its inverse iFFT. Sec.3.2.1, p.98.
 fht.c: factored discrete Hartley transform,
or FHT, and its inverse iFHT. Sec.3.2.2, p.100.
Chapter 4: Sampling and Estimation
 poly.c: polynomial algorithms from
Sec.4.1, pp.108116.
 sincerr.c: integrate the tail of the
sinc function. Sec.4.1.3, p.122.
 gsincerr.c: integrate the tail of the
Gaussian sinc function. Sec.4.1.3, p.122.

Chapter 5: Scale and Resolution
 makefile: compilation instructions for
all C codes from this chapter.
 dwt.c: Mallat's discrete wavelet
transform to specified depth, implemented by filter convolution. Sec.5.2.3,
p.160.
 pcqfilt.c and testpcqf.c: combined periodic conjugate
quadrature filter transforms, with a program to test
invertibility. Sec.5.2.3, p.162, and Sec.A.5, p.257.
 pdwt.c: mallat's periodic discrete wavelet
transform to specified depth, implemented by periodic filter
convolution. Sec.5.2.3, p.163, and Sec.A.5, pp.257258.
 pdwt0.c: complete periodic discrete
wavelet transform implemented by filter convolution. Sec.5.2.3, p.163.
 haarlift.c: lifting
implementation of the orthogonal Haar wavelet transform.
Sec.5.2.4, p.166.
 hsldht.c and hslift.c: halfsample symmetric lifting
implementation of the biorthogonal discrete Haar wavelet transform.
Sec.5.2.4, p.168, and Sec.A.5, pp.260263.
 wsl97.c and wslift.c: wholesample symmetric lifting
implementation of the JPEG2000 biorthogonal 97 wavelet transform.
Sec.5.2.4, pp.169173, and Sec.A.5, pp.259260.
 wsl97.gp: plotting commands for Gnuplot to graph the output of
wsl97.c, scaling function and wavelets produced by biorthogonal 9tap and
7tap filters. Sec.A.5, Solution 19, pp.259260.
 daub4.c and daub4.gp (commands for Gnuplot): prepare and plot data
showing the graphs of the wavelet and scaling function produced by
Daubechies' 4tap orthogonal conjugate quadrature filters. Sec.A.5,
Solution 17, pp.257259.
Chapter 6: Redundancy and Information
 hammcode.c: find a Hammingtype code of
specified radius, size, and number of codewords. Sec.6.2.2, p.204, and
Sec.A.6, Solution 12, pp.268269.
 checksum.c: compute checksums modulo 255
and 257. Sec.6.2.3, p.205.
 polymod2.c: generate addition and
multiplication tables for polynomials wih coefficients in the integers
modulo 2. Sec.6.2.3, Table 6.3, pp.209210.
 mod2poly.c: functions to manipulate
mod2 polynomials of arbitrary size. Sec.6.2, pp.210213.
 intpoly2.c: functions to manipulate
integersized mod2 polynomials. Sec.6.2, pp.210213.
 irreduce.c: test whether a
polynomial modulo 2 is irreducible. Sec.A.6, Solution 17, p.270.
 cycle.c: determine the smallest
N for which a given mod2 polynomial divides (t to the
N) plus 1. Sec.6.2.3, p.217, and Sec.A.6, Solution 19, pp.270271.
 elephant.c: encode some text
strings concerning elephants. Sec.A.6, Solutions 20 and 21, pp.271272.
