Recoil is a general-purpose C++20 header-only rANS library. It contains templates for various traditional rANS applications, as well as the algorithm described in the paper of the same name Recoil: Parallel rANS Decoding with Decoder-Adaptive Scalability.
Since the library utilizes C++20 features heavily, newer compilers and runtime libraries are required.
- gcc 10+ / clang 14+
- CMake 3.24+
- CUDA 12+
Dockerfile and some test scripts are also available in recoil-testscript.
Detailed documentations TODO. For now, please check examples/
for sample library usage.