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 FORTRAN77 version and
a FORTRAN90 version and
a MATLAB 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.
Reference:
-
Ken Beauchamp,
Walsh functions and their applications,
Academic Press, 1975,
ISBN: 0-12-084050-2,
LC: QA404.5.B33.
Source Code:
Examples and Tests:
List of Routines:
-
FFWT performs an in-place 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 16 March 2011.