This commit is contained in:
xgdgsc 2023-03-18 08:54:15 +08:00
parent 653ff976f5
commit b8b9c5042f
3 changed files with 13 additions and 79 deletions

68
Cargo.lock generated
View File

@ -653,73 +653,6 @@ dependencies = [
"getrandom",
]
[[package]]
name = "num"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
dependencies = [
"num-bigint",
"num-complex",
"num-integer",
"num-iter",
"num-rational",
"num-traits",
]
[[package]]
name = "num-bigint"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
]
[[package]]
name = "num-complex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
dependencies = [
"num-traits",
]
[[package]]
name = "num-integer"
version = "0.1.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
dependencies = [
"autocfg",
"num-traits",
]
[[package]]
name = "num-iter"
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
]
[[package]]
name = "num-rational"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
dependencies = [
"autocfg",
"num-bigint",
"num-integer",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.15"
@ -773,7 +706,6 @@ dependencies = [
"libc",
"linked-hash-map",
"lzzzz",
"num",
"once_cell",
"parse-display",
"proptest",

View File

@ -23,7 +23,6 @@ ignore = "0.4.20"
libc = "0.2.140"
linked-hash-map = "0.5.6"
lzzzz = "1.0.4"
num = "0.4.0"
once_cell = "1.17.1"
rayon = "1.7.0"
same-file = "1.0.6"

View File

@ -46,35 +46,38 @@ pub fn compress_files(
// instead of the regular default that flate2 uses
gzp::par::compress::ParCompress::<gzp::deflate::Gzip>::builder()
.compression_level(
level.map_or_else(Default::default, |l| gzp::Compression::new(num::clamp(l as u32, 1, 9))),
level.map_or_else(Default::default, |l| gzp::Compression::new((l as u32).clamp(0, 9))),
)
.from_writer(encoder),
),
Bzip => Box::new(bzip2::write::BzEncoder::new(
encoder,
level.map_or_else(Default::default, |l| {
bzip2::Compression::new(num::clamp(l as u32, 1, 9))
}),
level.map_or_else(Default::default, |l| bzip2::Compression::new((l as u32).clamp(1, 9))),
)),
Lz4 => Box::new(lzzzz::lz4f::WriteCompressor::new(
encoder,
lzzzz::lz4f::PreferencesBuilder::new()
.compression_level(level.map_or(0, |l| num::clamp(l as i32, 1, 12)))
.compression_level(level.map_or(0, |l| (l as i32).clamp(1, lzzzz::lz4f::CLEVEL_MAX)))
.build(),
)?),
Lzma => Box::new(xz2::write::XzEncoder::new(
encoder,
level.map_or(6, |l| num::clamp(l as u32, 0, 9)),
level.map_or(6, |l| (l as u32).clamp(0, 9)),
)),
Snappy => Box::new(
gzp::par::compress::ParCompress::<gzp::snap::Snap>::builder()
.compression_level(gzp::par::compress::Compression::new(
level.map_or_else(Default::default, |l| num::clamp(l as u32, 0, 9)),
level.map_or_else(Default::default, |l| (l as u32).clamp(0, 9)),
))
.from_writer(encoder),
),
Zstd => Box::new(
zstd::stream::write::Encoder::new(encoder, level.map_or(0, |l| num::clamp(l as i32, 1, 22)))
zstd::stream::write::Encoder::new(
encoder,
level.map_or(0, |l| {
(l as i32).clamp(zstd::zstd_safe::min_c_level(), zstd::zstd_safe::max_c_level())
}),
)
.unwrap()
.auto_finish(),
),