From 43dd37508ec3b5941d2c2a4638752baf66f77402 Mon Sep 17 00:00:00 2001 From: Kaede Date: Wed, 21 May 2025 13:58:36 +0800 Subject: [PATCH 1/2] Improve normalize in karatsuba_multiplication implementation --- src/math/karatsuba_multiplication.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/math/karatsuba_multiplication.rs b/src/math/karatsuba_multiplication.rs index e8d1d3bbfe6..4d679e94a8b 100644 --- a/src/math/karatsuba_multiplication.rs +++ b/src/math/karatsuba_multiplication.rs @@ -35,8 +35,9 @@ fn _multiply(num1: i128, num2: i128) -> i128 { } fn normalize(mut a: String, n: usize) -> String { - for (counter, _) in (a.len()..n).enumerate() { - a.insert(counter, '0'); + let padding = n.saturating_sub(a.len()); + if padding > 0 { + a.insert_str(0, &"0".repeat(padding)); } a } From 8d6956dff74d3ee8aff1f9eed28ab7e3ab5ab723 Mon Sep 17 00:00:00 2001 From: Kaede Date: Thu, 22 May 2025 21:48:39 +0800 Subject: [PATCH 2/2] Update src/math/karatsuba_multiplication.rs Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com> --- src/math/karatsuba_multiplication.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/math/karatsuba_multiplication.rs b/src/math/karatsuba_multiplication.rs index 4d679e94a8b..4547faf9119 100644 --- a/src/math/karatsuba_multiplication.rs +++ b/src/math/karatsuba_multiplication.rs @@ -36,9 +36,7 @@ fn _multiply(num1: i128, num2: i128) -> i128 { fn normalize(mut a: String, n: usize) -> String { let padding = n.saturating_sub(a.len()); - if padding > 0 { - a.insert_str(0, &"0".repeat(padding)); - } + a.insert_str(0, &"0".repeat(padding)); a } #[cfg(test)]