The Vapor code base includes an API to do a forward and reverse wavelet transforms on "superblocks" (array of 8 pointers to "blocks" of some block size) returning a superblock of lambda and gamma coefficients. I've extracted the parts important to the forward wavelet transform to a point where they compile cleanly on Blue Vista with no additional libraries, etc. I also included a simple program which transforms a 64 x 64 x 64 block filled with 1's. The result is tested--the lambda block should be full of 1's and the gamma blocks should be full of 0's.
HaarBlock3D.tar.gz is an archive of the code. Inside the archive, HaarBlock3D.h and HaarBlock3D.cpp are the header files and code, respectively. Simple.cpp is the simple test program.