diff options
| author | Kivooeo <Kivooeo123@gmail.com> | 2025-09-06 17:47:54 +0000 |
|---|---|---|
| committer | Kivooeo <Kivooeo123@gmail.com> | 2025-09-07 17:21:47 +0000 |
| commit | a2d66db9badf35d4ad31323b0f5e6132d56f9391 (patch) | |
| tree | 6ed33ad90ca332bde741721201c27e8d6db9c902 /library/core/src | |
| parent | 6d5caf3a4a358c80f09ba51d71db0dbc41381992 (diff) | |
| download | rust-a2d66db9badf35d4ad31323b0f5e6132d56f9391.tar.gz rust-a2d66db9badf35d4ad31323b0f5e6132d56f9391.zip | |
remove unsused div_rem method from bignum
Diffstat (limited to 'library/core/src')
| -rw-r--r-- | library/core/src/num/bignum.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/library/core/src/num/bignum.rs b/library/core/src/num/bignum.rs index e33f58197bb..f21fe0b4438 100644 --- a/library/core/src/num/bignum.rs +++ b/library/core/src/num/bignum.rs @@ -335,43 +335,6 @@ macro_rules! define_bignum { } (self, borrow) } - - /// Divide self by another bignum, overwriting `q` with the quotient and `r` with the - /// remainder. - pub fn div_rem(&self, d: &$name, q: &mut $name, r: &mut $name) { - // Stupid slow base-2 long division taken from - // https://en.wikipedia.org/wiki/Division_algorithm - // FIXME use a greater base ($ty) for the long division. - assert!(!d.is_zero()); - let digitbits = <$ty>::BITS as usize; - for digit in &mut q.base[..] { - *digit = 0; - } - for digit in &mut r.base[..] { - *digit = 0; - } - r.size = d.size; - q.size = 1; - let mut q_is_zero = true; - let end = self.bit_length(); - for i in (0..end).rev() { - r.mul_pow2(1); - r.base[0] |= self.get_bit(i) as $ty; - if &*r >= d { - r.sub(d); - // Set bit `i` of q to 1. - let digit_idx = i / digitbits; - let bit_idx = i % digitbits; - if q_is_zero { - q.size = digit_idx + 1; - q_is_zero = false; - } - q.base[digit_idx] |= 1 << bit_idx; - } - } - debug_assert!(q.base[q.size..].iter().all(|&d| d == 0)); - debug_assert!(r.base[r.size..].iter().all(|&d| d == 0)); - } } impl crate::cmp::PartialEq for $name { |
