mirror of
https://github.com/ziglang/zig.git
synced 2025-12-07 14:53:08 +00:00
45 lines
1.5 KiB
Zig
45 lines
1.5 KiB
Zig
//! The deflate package is a translation of the Go code of the compress/flate package from
|
|
//! https://go.googlesource.com/go/+/refs/tags/go1.17/src/compress/flate/
|
|
|
|
const deflate = @import("deflate/compressor.zig");
|
|
const inflate = @import("deflate/decompressor.zig");
|
|
|
|
pub const Compression = deflate.Compression;
|
|
pub const CompressorOptions = deflate.CompressorOptions;
|
|
pub const Compressor = deflate.Compressor;
|
|
pub const Decompressor = inflate.Decompressor;
|
|
|
|
pub const compressor = deflate.compressor;
|
|
pub const decompressor = inflate.decompressor;
|
|
|
|
/// Copies elements from a source `src` slice into a destination `dst` slice.
|
|
/// The copy never returns an error but might not be complete if the destination is too small.
|
|
/// Returns the number of elements copied, which will be the minimum of `src.len` and `dst.len`.
|
|
/// TODO: remove this smelly function
|
|
pub fn copy(dst: []u8, src: []const u8) usize {
|
|
if (dst.len <= src.len) {
|
|
@memcpy(dst, src[0..dst.len]);
|
|
return dst.len;
|
|
} else {
|
|
@memcpy(dst[0..src.len], src);
|
|
return src.len;
|
|
}
|
|
}
|
|
|
|
test {
|
|
_ = @import("deflate/token.zig");
|
|
_ = @import("deflate/bits_utils.zig");
|
|
_ = @import("deflate/dict_decoder.zig");
|
|
|
|
_ = @import("deflate/huffman_code.zig");
|
|
_ = @import("deflate/huffman_bit_writer.zig");
|
|
|
|
_ = @import("deflate/compressor.zig");
|
|
_ = @import("deflate/compressor_test.zig");
|
|
|
|
_ = @import("deflate/deflate_fast.zig");
|
|
_ = @import("deflate/deflate_fast_test.zig");
|
|
|
|
_ = @import("deflate/decompressor.zig");
|
|
}
|