feat(rust): port FSE entropy decoding

Move FSE normalized-count parsing, Huffman statistics decoding, FSE table
construction, and FSE stream decompression into Rust. The C source files now
only retain the headers needed by the existing build configuration.

The implementation keeps the public C ABI and verifies C-generated balanced,
skewed, and Huffman-statistics streams. Compression and the higher-level frame
decoder remain C for now.

Test Plan:
- cargo fmt --check
- cargo test --all-targets
- cargo clippy --all-targets -- -D warnings
- cargo build --release
- compile both C shims with -Werror and -Wredundant-decls

Refs: rust/README.md
This commit is contained in:
2026-07-10 20:04:26 +02:00
parent 554a30da41
commit a0f2b2a14c
6 changed files with 1264 additions and 652 deletions
+2
View File
@@ -5,7 +5,9 @@ pub mod bitstream;
pub mod common;
pub mod cpu;
pub mod debug;
pub mod entropy_common;
pub mod errors;
pub mod fse_decompress;
pub mod mem;
pub mod xxhash;
pub mod zstd_common;