Skip to content

Commit 6b283d7

Browse files
Remove duplicated get_val (#2065)
* avoid installing gmp if it is already installed * revert part of the last commit * changelog * remove unwanted file
1 parent 0038711 commit 6b283d7

File tree

3 files changed

+12
-35
lines changed

3 files changed

+12
-35
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
#### Upcoming Changes
44

5+
* refactor: remove duplicated get_val function [#2065](https://github.com/lambdaclass/cairo-vm/pull/2065)
6+
57
* fix: Always use a normal segment in first SegmentArena segment [#1845](https://github.com/lambdaclass/cairo-vm/pull/1845)
68

79
* chore: update cairo-lang dependencies to 2.12.0-dev.0 #[2040](https://github.com/lambdaclass/cairo-vm/pull/2040)

vm/src/hint_processor/cairo_1_hint_processor/hint_processor.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -474,10 +474,10 @@ impl Cairo1HintProcessor {
474474
remainder1: &CellRef,
475475
) -> Result<(), HintError> {
476476
let pow_2_128 = BigUint::from(u128::MAX) + 1u32;
477-
let dividend0 = get_val(vm, dividend0)?.to_biguint();
478-
let dividend1 = get_val(vm, dividend1)?.to_biguint();
479-
let divisor0 = get_val(vm, divisor0)?.to_biguint();
480-
let divisor1 = get_val(vm, divisor1)?.to_biguint();
477+
let dividend0 = res_operand_get_val(vm, dividend0)?.to_biguint();
478+
let dividend1 = res_operand_get_val(vm, dividend1)?.to_biguint();
479+
let divisor0 = res_operand_get_val(vm, divisor0)?.to_biguint();
480+
let divisor1 = res_operand_get_val(vm, divisor1)?.to_biguint();
481481
let dividend: BigUint = dividend0 + dividend1.shl(128);
482482
let divisor = divisor0 + divisor1.shl(128);
483483
let (quotient, remainder) = dividend.div_rem(&divisor);
@@ -1155,10 +1155,10 @@ impl Cairo1HintProcessor {
11551155
t_or_k1: &CellRef,
11561156
) -> Result<(), HintError> {
11571157
let pow_2_128 = BigInt::from(u128::MAX) + 1u32;
1158-
let b0 = get_val(vm, b0)?.to_bigint();
1159-
let b1 = get_val(vm, b1)?.to_bigint();
1160-
let n0 = get_val(vm, n0)?.to_bigint();
1161-
let n1 = get_val(vm, n1)?.to_bigint();
1158+
let b0 = res_operand_get_val(vm, b0)?.to_bigint();
1159+
let b1 = res_operand_get_val(vm, b1)?.to_bigint();
1160+
let n0 = res_operand_get_val(vm, n0)?.to_bigint();
1161+
let n1 = res_operand_get_val(vm, n1)?.to_bigint();
11621162
let b: BigInt = b0.clone() + b1.clone().shl(128);
11631163
let n: BigInt = n0 + n1.shl(128);
11641164
let ExtendedGcd {
@@ -1217,14 +1217,14 @@ impl Cairo1HintProcessor {
12171217
n_mul_mods: &ResOperand,
12181218
mul_mod_builtin_ptr: &ResOperand,
12191219
) -> Result<(), HintError> {
1220-
let n_add_mods = get_val(vm, n_add_mods)?;
1220+
let n_add_mods = res_operand_get_val(vm, n_add_mods)?;
12211221
let n_add_mods =
12221222
n_add_mods
12231223
.to_usize()
12241224
.ok_or(HintError::Math(MathError::Felt252ToUsizeConversion(
12251225
Box::from(n_add_mods),
12261226
)))?;
1227-
let n_mul_mods = get_val(vm, n_mul_mods)?;
1227+
let n_mul_mods = res_operand_get_val(vm, n_mul_mods)?;
12281228
let n_mul_mods =
12291229
n_mul_mods
12301230
.to_usize()

vm/src/hint_processor/cairo_1_hint_processor/hint_processor_utils.rs

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,31 +40,6 @@ pub(crate) fn get_mayberelocatable(
4040
})
4141
}
4242

43-
/// Fetches the value of `res_operand` from the vm.
44-
pub(crate) fn get_val(
45-
vm: &VirtualMachine,
46-
res_operand: &ResOperand,
47-
) -> Result<Felt252, VirtualMachineError> {
48-
match res_operand {
49-
ResOperand::Deref(cell) => get_cell_val(vm, cell),
50-
ResOperand::DoubleDeref(cell, offset) => {
51-
get_double_deref_val(vm, cell, &Felt252::from(*offset as i32))
52-
}
53-
ResOperand::Immediate(x) => Ok(Felt252::from(&x.value)),
54-
ResOperand::BinOp(op) => {
55-
let a = get_cell_val(vm, &op.a)?;
56-
let b = match &op.b {
57-
DerefOrImmediate::Deref(cell) => get_cell_val(vm, cell)?,
58-
DerefOrImmediate::Immediate(x) => Felt252::from(&x.value),
59-
};
60-
match op.op {
61-
Operation::Add => Ok(a + b),
62-
Operation::Mul => Ok(a * b),
63-
}
64-
}
65-
}
66-
}
67-
6843
pub(crate) fn cell_ref_to_relocatable(
6944
cell_ref: &CellRef,
7045
vm: &VirtualMachine,

0 commit comments

Comments
 (0)