MAF is a lossless double-precision floating point number compression algorithm. This package includes a program that can encode binary dump of double-precision floating point numbers into MAF format and decode the MAF-formatted image back to original double-precision numbers.
Please visit MAF repository at GitLab.
You need a C99-compliant compiler to build an executable. Floating point numbers are assumed to be stored in IEEE754 style, so you'll need to pass appropriate options to HP C on OpenVMS systems. (I haven't tested this program on my OpenVMS systems yet.)
This program is verified under:
MAF compression utility properly handles big-endian and little-endian systems.
In MAF compression, only the exponent part of floating-point numbers are compressed. This leads to extremely fast compression/decompression, without affecting compression ratio for most datasets. In our experiment, MAF compressed a dataset obtained from scientific simulation better than GZip and Bzip2 does.
maf?
The method in which the MAF compresses the extracted exponent parts of a floating point number stream is inspired by a popular Japanese computer-generated image compression algorithm: MAG. The name MAG, in turn, is an acronym for MAKIchan Graphic [2]. Naturally, as my method is for floating point numbers, the resulting name for my method is called MAF.
No, the source code is fairly straightforward, and the algorithm is documented in [1].