Use the newly stabilized div_ceil

Sets a msrv of 1.73.0.
This commit is contained in:
Luke Parker 2023-10-05 14:27:59 -04:00
parent 4ee65ed243
commit 9cdca1d3d6
No known key found for this signature in database
4 changed files with 4 additions and 13 deletions

View file

@ -197,7 +197,7 @@ impl SignableTransaction {
// multiplied by DEFAULT_BYTES_PER_SIGOP (20) // multiplied by DEFAULT_BYTES_PER_SIGOP (20)
// We only use 1 signature per input, and our inputs have a weight exceeding 20 // We only use 1 signature per input, and our inputs have a weight exceeding 20
// Accordingly, our inputs' weight will always be greater than the cost of the signature ops // Accordingly, our inputs' weight will always be greater than the cost of the signature ops
let vsize = (weight + 3) / 4; let vsize = weight.div_ceil(4);
// Technically, if there isn't change, this TX may still pay enough of a fee to pass the // Technically, if there isn't change, this TX may still pay enough of a fee to pass the
// minimum fee. Such edge cases aren't worth programming when they go against intent, as the // minimum fee. Such edge cases aren't worth programming when they go against intent, as the
// specified fee rate is too low to be valid // specified fee rate is too low to be valid

View file

@ -50,8 +50,7 @@ fn birthday_decode(birthday: u16) -> u64 {
const SECRET_BITS: usize = 150; const SECRET_BITS: usize = 150;
const BITS_PER_BYTE: usize = 8; const BITS_PER_BYTE: usize = 8;
// ceildiv of SECRET_BITS by BITS_PER_BYTE const SECRET_SIZE: usize = SECRET_BITS.div_ceil(BITS_PER_BYTE); // 19
const SECRET_SIZE: usize = (SECRET_BITS + BITS_PER_BYTE - 1) / BITS_PER_BYTE; // 19
const CLEAR_BITS: usize = (SECRET_SIZE * BITS_PER_BYTE) - SECRET_BITS; // 2 const CLEAR_BITS: usize = (SECRET_SIZE * BITS_PER_BYTE) - SECRET_BITS; // 2
// Polyseed calls this CLEAR_MASK and has a very complicated formula for this fundamental // Polyseed calls this CLEAR_MASK and has a very complicated formula for this fundamental

View file

@ -149,7 +149,7 @@ where
// block_size returns the block_size in bytes // block_size returns the block_size in bytes
// Use a ceil div in case the block size isn't evenly divisible by our word size // Use a ceil div in case the block size isn't evenly divisible by our word size
let words = (D::block_size() + (WORD_SIZE - 1)) / WORD_SIZE; let words = D::block_size().div_ceil(WORD_SIZE);
for _ in 0 .. (2 * words) { for _ in 0 .. (2 * words) {
self.0.update([255; WORD_SIZE]); self.0.update([255; WORD_SIZE]);
} }

View file

@ -229,14 +229,6 @@ impl<D: Db, N: Network> MultisigManager<D, N> {
} }
fn current_rotation_step(&self, block_number: usize) -> RotationStep { fn current_rotation_step(&self, block_number: usize) -> RotationStep {
fn ceil_div(num: usize, denom: usize) -> usize {
let res = num / denom;
if (res * denom) == num {
return res;
}
res + 1
}
let Some(new) = self.new.as_ref() else { return RotationStep::UseExisting }; let Some(new) = self.new.as_ref() else { return RotationStep::UseExisting };
// Period numbering here has no meaning other than these the time values useful here, and the // Period numbering here has no meaning other than these the time values useful here, and the
@ -250,7 +242,7 @@ impl<D: Db, N: Network> MultisigManager<D, N> {
// N::CONFIRMATIONS + 10 minutes // N::CONFIRMATIONS + 10 minutes
let period_1_start = new.activation_block + let period_1_start = new.activation_block +
N::CONFIRMATIONS + N::CONFIRMATIONS +
ceil_div(10 * 60, N::ESTIMATED_BLOCK_TIME_IN_SECONDS); (10usize * 60).div_ceil(N::ESTIMATED_BLOCK_TIME_IN_SECONDS);
// N::CONFIRMATIONS // N::CONFIRMATIONS
let period_2_start = period_1_start + N::CONFIRMATIONS; let period_2_start = period_1_start + N::CONFIRMATIONS;