From 28e9a880773510fd2f8790a0cbb2fba4bc1581ee Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Wed, 20 Nov 2024 09:10:39 +0100 Subject: [PATCH 1/4] du: use div_ceil() from std --- src/uu/du/src/du.rs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/uu/du/src/du.rs b/src/uu/du/src/du.rs index a35e9f77e..3681668f0 100644 --- a/src/uu/du/src/du.rs +++ b/src/uu/du/src/du.rs @@ -555,7 +555,7 @@ impl StatPrinter { size, uucore::format::human::SizeFormat::Binary, ), - SizeFormat::BlockSize(block_size) => div_ceil(size, block_size).to_string(), + SizeFormat::BlockSize(block_size) => size.div_ceil(block_size).to_string(), } } @@ -576,13 +576,6 @@ impl StatPrinter { } } -// This can be replaced with u64::div_ceil once it is stabilized. -// This implementation approach is optimized for when `b` is a constant, -// particularly a power of two. -pub fn div_ceil(a: u64, b: u64) -> u64 { - (a + b - 1) / b -} - // Read file paths from the specified file, separated by null characters fn read_files_from(file_name: &str) -> Result, std::io::Error> { let reader: Box = if file_name == "-" { From 7fb0f8a29dea1666537c4905d082d3a8b526125e Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Wed, 20 Nov 2024 09:13:32 +0100 Subject: [PATCH 2/4] sum: use div_ceil() from std --- src/uu/sum/src/sum.rs | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/uu/sum/src/sum.rs b/src/uu/sum/src/sum.rs index d1f383351..bae288d80 100644 --- a/src/uu/sum/src/sum.rs +++ b/src/uu/sum/src/sum.rs @@ -16,13 +16,6 @@ use uucore::{format_usage, help_about, help_usage, show}; const USAGE: &str = help_usage!("sum.md"); const ABOUT: &str = help_about!("sum.md"); -// This can be replaced with usize::div_ceil once it is stabilized. -// This implementation approach is optimized for when `b` is a constant, -// particularly a power of two. -const fn div_ceil(a: usize, b: usize) -> usize { - (a + b - 1) / b -} - fn bsd_sum(mut reader: Box) -> (usize, u16) { let mut buf = [0; 4096]; let mut bytes_read = 0; @@ -41,7 +34,7 @@ fn bsd_sum(mut reader: Box) -> (usize, u16) { } // Report blocks read in terms of 1024-byte blocks. - let blocks_read = div_ceil(bytes_read, 1024); + let blocks_read = bytes_read.div_ceil(1024); (blocks_read, checksum) } @@ -66,7 +59,7 @@ fn sysv_sum(mut reader: Box) -> (usize, u16) { ret = (ret & 0xffff) + (ret >> 16); // Report blocks read in terms of 512-byte blocks. - let blocks_read = div_ceil(bytes_read, 512); + let blocks_read = bytes_read.div_ceil(512); (blocks_read, ret as u16) } From fc2f73b16cc112f34d16f6725a5b652e611f46d1 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Wed, 20 Nov 2024 09:17:14 +0100 Subject: [PATCH 3/4] cksum: use div_ceil() from std --- src/uu/cksum/src/cksum.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/uu/cksum/src/cksum.rs b/src/uu/cksum/src/cksum.rs index 2392660ee..e96d2de6f 100644 --- a/src/uu/cksum/src/cksum.rs +++ b/src/uu/cksum/src/cksum.rs @@ -22,7 +22,7 @@ use uucore::{ format_usage, help_about, help_section, help_usage, line_ending::LineEnding, os_str_as_bytes, show, - sum::{div_ceil, Digest}, + sum::Digest, }; const USAGE: &str = help_usage!("cksum.md"); @@ -124,7 +124,7 @@ where format!( "{} {}{}", sum.parse::().unwrap(), - div_ceil(sz, options.output_bits), + sz.div_ceil(options.output_bits), if not_file { "" } else { " " } ), !not_file, @@ -134,7 +134,7 @@ where format!( "{:0bsd_width$} {:bsd_width$}{}", sum.parse::().unwrap(), - div_ceil(sz, options.output_bits), + sz.div_ceil(options.output_bits), if not_file { "" } else { " " } ), !not_file, From cfe2c9f6da56e9047d05a78657d7f8d0a1ad20ab Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Wed, 20 Nov 2024 09:20:41 +0100 Subject: [PATCH 4/4] uucore: remove div_ceil() from sum feature --- src/uucore/src/lib/features/sum.rs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/uucore/src/lib/features/sum.rs b/src/uucore/src/lib/features/sum.rs index 086c6ca9d..1baff7f79 100644 --- a/src/uucore/src/lib/features/sum.rs +++ b/src/uucore/src/lib/features/sum.rs @@ -207,13 +207,6 @@ impl Digest for CRC { } } -// This can be replaced with usize::div_ceil once it is stabilized. -// This implementation approach is optimized for when `b` is a constant, -// particularly a power of two. -pub fn div_ceil(a: usize, b: usize) -> usize { - (a + b - 1) / b -} - pub struct BSD { state: u16, }