Closed feltroidprime closed 1 year ago
Consider the following cairo program :
%builtins output range_check from starkware.cairo.common.registers import get_fp_and_pc func add_bigint3{range_check_ptr}(a: felt*, b: felt*) { assert [fp] = 17; assert [fp + 1] = 18; assert [fp + 2] = 19; assert [range_check_ptr + 0] = 20; assert [range_check_ptr + 1] = 20; tempvar range_check_ptr = range_check_ptr + 2; return (); } func main{output_ptr: felt*, range_check_ptr}() { alloc_locals; let (__fp__, _) = get_fp_and_pc(); local Xb: (felt, felt, felt) = (10, 11, 12); local Yb: (felt, felt, felt) = (9, 10, 11); let res = add_bigint3(&Xb, &Yb); return (); }
it fails with :
Error: [code:9:36]: Error at pc=0:7: An ASSERT_EQ instruction failed: 17 != 20. assert [range_check_ptr + 0] = 20;
using this syntax works:
[fp] = 17, ap++; [fp + 1] = 18, ap++; [fp + 2] = 19, ap++;
Consider the following cairo program :
it fails with :