Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,15 @@
)
```

* Add missing hint on cairo_secp lib [#996](https://github.com/lambdaclass/cairo-rs/pull/996):

`BuiltinHintProcessor` now supports the following hint:

```python
from starkware.python.math_utils import div_mod
value = x_inv = div_mod(1, x, SECP_P)
```

* Add missing hints on cairo_secp lib [#994](https://github.com/lambdaclass/cairo-rs/pull/994):

`BuiltinHintProcessor` now supports the following hints:
Expand Down
7 changes: 5 additions & 2 deletions src/hint_processor/builtin_hint_processor/secp/ec_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,11 @@ pub fn quad_bit(
let scalar_u = scalar_u_cow.as_ref();

// If m is too high the shift result will always be zero
let Some(m) = m_cow.as_ref().to_u32() else {
return insert_value_from_var_name("quad_bit", 0, vm, ids_data, ap_tracking);
let m = match m_cow.as_ref().to_u32() {
Some(m) if m <= 252 => m,
None | Some(_) => {
return insert_value_from_var_name("quad_bit", 0, vm, ids_data, ap_tracking)
}
};

let one = &Felt252::one();
Expand Down
7 changes: 7 additions & 0 deletions src/tests/cairo_run_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1337,6 +1337,13 @@ fn cairo_run_div_mod_n() {
run_program_simple(program_data.as_slice());
}

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test)]
fn cairo_run_is_zero() {
let program_data = include_bytes!("../../cairo_programs/is_zero.json");
run_program_simple(program_data.as_slice());
}

#[test]
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test)]
fn cairo_run_quad_bit() {
Expand Down