Move literal decoding, sequence-table construction, FSE sequence decoding, and sequence execution into Rust. The C shim retains ownership of the configured decoder context and passes only the leaf state needed by the block codec. Correct the two high offset-code bases while porting the tables. Their prior values made valid large-window streams decode as corrupted data; the new unit test fixes the exact values and a native zstream regression exercises them. High-level frame and streaming context control remains C for now. Test Plan: - cargo test --all-targets - cargo test --target i686-unknown-linux-gnu --all-targets - cargo clippy && cargo clippy --benches && cargo clippy --tests - cargo +nightly fmt - make -B -C tests -j2 fuzzer zstreamtest invalidDictionaries poolTests - ./tests/fuzzer -s5346 -i1 --no-big-tests - ./tests/zstreamtest -i3000 -s334462 - ./tests/invalidDictionaries - timeout 20s stdbuf -oL ./tests/poolTests Refs: rust/README.md
44 lines
1.0 KiB
Rust
44 lines
1.0 KiB
Rust
#![allow(clippy::missing_safety_doc)]
|
|
|
|
pub mod bits;
|
|
pub mod bitstream;
|
|
pub mod common;
|
|
pub mod cpu;
|
|
pub mod debug;
|
|
pub mod entropy_common;
|
|
pub mod errors;
|
|
#[cfg(feature = "compression")]
|
|
pub mod fse_compress;
|
|
pub mod fse_decompress;
|
|
#[cfg(feature = "compression")]
|
|
pub mod hist;
|
|
#[cfg(feature = "compression")]
|
|
pub mod huf_compress;
|
|
#[cfg(feature = "decompression")]
|
|
pub mod huf_decompress;
|
|
pub mod mem;
|
|
pub mod pool;
|
|
pub mod threading;
|
|
pub mod xxhash;
|
|
pub mod zstd_common;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_compress_api;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_compress_literals;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_compress_sequences;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_compress_superblock;
|
|
#[cfg(feature = "decompression")]
|
|
pub mod zstd_ddict;
|
|
#[cfg(feature = "decompression")]
|
|
pub mod zstd_decompress_block;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_double_fast;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_fast;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_lazy;
|
|
#[cfg(feature = "compression")]
|
|
pub mod zstd_presplit;
|