From 7a403991f25347bff5a7a202bee9b25d3cfc9901 Mon Sep 17 00:00:00 2001 From: Alon Haramati Date: Mon, 10 Jul 2023 16:10:59 +0300 Subject: [PATCH] Fix uint256_mul_div_mod bug. --- .../builtin_hint_processor/uint256_utils.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vm/src/hint_processor/builtin_hint_processor/uint256_utils.rs b/vm/src/hint_processor/builtin_hint_processor/uint256_utils.rs index 3c4b9352cc..52238bcc24 100644 --- a/vm/src/hint_processor/builtin_hint_processor/uint256_utils.rs +++ b/vm/src/hint_processor/builtin_hint_processor/uint256_utils.rs @@ -431,10 +431,10 @@ pub fn uint256_mul_div_mod( let div_high = div_high.as_ref(); // Main Logic - let a = a_high.shl(128_usize) + a_low; - let b = b_high.shl(128_usize) + b_low; - let div = div_high.shl(128_usize) + div_low; - let (quotient, remainder) = (a.to_biguint() * b.to_biguint()).div_mod_floor(&div.to_biguint()); + let a = a_high.to_biguint().shl(128_usize) + a_low.to_biguint(); + let b = b_high.to_biguint().shl(128_usize) + b_low.to_biguint(); + let div = div_high.to_biguint().shl(128_usize) + div_low.to_biguint(); + let (quotient, remainder) = (a * b).div_mod_floor(&div); // ids.quotient_low.low vm.insert_value(