Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/llnl/fpzip
Lossless compressor of multidimensional floating-point arrays
https://github.com/llnl/fpzip
compression cpp data-viz floating-point
Last synced: 2 days ago
JSON representation
Lossless compressor of multidimensional floating-point arrays
- Host: GitHub
- URL: https://github.com/llnl/fpzip
- Owner: LLNL
- License: bsd-3-clause
- Created: 2019-12-19T00:17:57.000Z (almost 5 years ago)
- Default Branch: develop
- Last Pushed: 2020-06-05T18:07:35.000Z (over 4 years ago)
- Last Synced: 2024-06-15T00:02:47.235Z (5 months ago)
- Topics: compression, cpp, data-viz, floating-point
- Language: C++
- Homepage: http://fpzip.llnl.gov
- Size: 65.4 KB
- Stars: 99
- Watchers: 4
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
fpzip
=====INTRODUCTION
------------fpzip is a library and command-line utility for lossless and optionally lossy
compression of 2D and 3D floating-point arrays. fpzip assumes spatially
correlated scalar-valued data, such as regularly sampled continuous functions,
and is not suitable for compressing unstructured streams of floating-point
numbers. In lossy mode, fpzip discards some number of least significant
mantissa bits and losslessly compresses the result. fpzip currently supports
IEEE-754 single (32-bit) and double (64-bit) precision floating-point data.
fpzip is written in C++ but has a C compatible API that can be called from
C and other languages. It conforms to the C++98 and C89 language standards.fpzip is released as Open Source under a three-clause BSD license. Please
see the file LICENSE for further details.INSTALLATION
------------### CMake builds
fpzip was developed for Linux and macOS but can be built on Windows using
[CMake](https://cmake.org). To use CMake, type:cd fpzip
mkdir build
cd build
cmake ..
cmake --build . --config Releasefpzip can be configured using compile-time options, e.g.:
cmake .. -DFPZIP_FP=FPZIP_FP_SAFE -DBUILD_UTILITIES=OFF
To display the available options, type:
cmake .. -L
Basic regression testing is available:
ctest -V -C Release
### GNU builds
fpzip may also be built using [GNU make](https://www.gnu.org/software/make/):
cd fpzip
gmakeThis builds lib/libfpzip.a and bin/fpzip.
The GNU make options are listed in the file Config and should preferably be
set on the command line, e.g.:gmake FPZIP_FP=FPZIP_FP_SAFE BUILD_UTILITIES=0
To run the regression tests, type:
gmake test
DOCUMENTATION
-------------Documentation is currently limited to the source files themselves. For
information on the API, please see the header file include/fpzip.h. For an
example of how to call fpzip, please see the source file utils/fpzip.cpp.
This utility may be used to compress binary files of raw floating-point
numbers. Usage is given by:fpzip -h
AUTHOR
------fpzip was written by [Peter Lindstrom](https://people.llnl.gov/pl) at
Lawrence Livermore National Laboratory.CITING fpzip
------------If you use fpzip for scholarly research, please cite the following paper:
Peter Lindstrom and Martin Isenburg
"Fast and Efficient Compression of Floating-Point Data"
IEEE Transactions on Visualization and Computer Graphics, 12(5):1245-1250, 2006LICENSE
-------fpzip is distributed under the terms of the BSD license. See the files
[LICENSE](https://github.com/LLNL/fpzip/blob/master/LICENSE) and
[NOTICE](https://github.com/LLNL/fpzip/blob/master/NOTICE) for details.`SPDX-License-Identifier: BSD`
``LLNL-CODE-764017``
QUESTIONS AND COMMENTS
----------------------For questions and comments, please contact us at [email protected].
Please submit bug reports and feature requests via the GitHub
[issue tracker](https://github.com/LLNL/fpzip/issues).