WALSH
Walsh and Haar Transforms
WALSH
is a C library which
implements versions of the Walsh and Haar transforms.
Note that the programs, as printed in the reference, had a few typographical
errors. Several programs, in particular FHT and FRT, could not be made to
perform as described in the text, and hence have been omitted.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
WALSH is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.
Related Data and Programs:
HAAR,
a C library which
computes the Haar transform of data.
SFTPACK,
a C library which
implements the "slow" Fourier transform, intended as a teaching
tool and comparison with the fast Fourier transform.
SINE_TRANSFORM,
a C library which
demonstrates some simple properties of the discrete sine transform.
WAVELET,
a C library which
does some simple calculations with wavelet transforms;
Reference:

Ken Beauchamp,
Walsh functions and their applications,
Academic Press, 1975,
ISBN: 0120840502,
LC: QA404.5.B33.
Source Code:
Examples and Tests:
List of Routines:

FFWT performs an inplace fast Walsh transform.

FWT performs a fast Walsh transform.

HAAR performs a Haar transform.

HAARIN inverts a Haar transform.

HNORM computes normalization factors for a forward or inverse Haar transform.

I4_LOG_2 returns the integer part of the logarithm base 2 of an I4.

I4_MAX returns the maximum of two I4's.

I4_MIN returns the minimum of two I4's.

I4_MODP returns the nonnegative remainder of I4 division.

I4_POWER returns the value of I^J.

I4_WRAP forces an I4 to lie between given limits by wrapping.

R8VEC_COPY copies an R8VEC.

R8VEC_COPY_NEW copies an R8VEC to a "new" R8VEC.

R8VEC_UNIFORM_01_NEW returns a new unit pseudorandom R8VEC.

TIMESTAMP prints the current YMDHMS date as a time stamp.

WALSH performs a fast Walsh transform.
You can go up one level to
the C source codes.
Last revised on 17 March 2011.