Move raw, RLE, and Huffman literal-section encoding into the Rust compatibility archive. The surrounding C block compressor continues to pass its existing entropy workspace and Huffman-table state through the unchanged internal ABI. The port preserves literal header choices, compression-gain decisions, repeat-table transitions, and 1X/4X encoder selection. It lets ordinary C compression paths exercise Rust code without widening this commit into the remaining frame compressor. Test Plan: - cargo clippy, cargo clippy --benches, cargo clippy --tests, and nightly fmt - cargo test --all-targets (94 passed) and feature-only cargo checks - native fuzzer, zstreamtest, invalidDictionaries, and CLI round trip - compare literals and next-table bytes with pristine C on x86_64 and i686 Refs: rust/README.md compression-primitives map
18 lines
665 B
C
18 lines
665 B
C
/*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under both the BSD-style license (found in the
|
|
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
* in the COPYING file in the root directory of this source tree).
|
|
* You may select, at your option, one of the above-listed licenses.
|
|
*/
|
|
|
|
/*
|
|
* Literals compression is implemented in
|
|
* rust/src/zstd_compress_literals.rs. Keep this declaration-compatible
|
|
* translation unit so every native build continues to use the existing
|
|
* internal header and links the Rust ABI exports.
|
|
*/
|
|
#include "zstd_compress_literals.h"
|