feat(rust): port histogram counting primitives

Move byte histogram counting into Rust for FSE and Huffman compression callers.
The implementation preserves the C workspace contract, checked alphabet path,
fast path, empty-input behavior, and C ABI while the original C source becomes
a header-only compatibility shim.

Focused tests cover count accumulation, invalid alphabets, workspace failures,
and striped large inputs. Higher-level compression remains C for now.

Test Plan:
- cargo fmt --check
- cargo test --all-targets
- cargo clippy --all-targets -- -D warnings
- cargo build --release
- make -C tests fuzzer
- ./tests/fuzzer -i1 --no-big-tests
- compile hist.c with -Werror and -Wredundant-decls

Refs: rust/README.md
This commit is contained in:
2026-07-10 20:06:25 +02:00
parent 26b5e202ee
commit 158cd680d9
4 changed files with 382 additions and 195 deletions
+1
View File
@@ -8,6 +8,7 @@ pub mod debug;
pub mod entropy_common;
pub mod errors;
pub mod fse_decompress;
pub mod hist;
pub mod mem;
pub mod pool;
pub mod threading;