* Sets v[a,a+1] += b
* b0 is the low 32 bits of b, b1 represents the high 32 bits
*/
- fn add_uint64 (vv: ptr<function, array<u32, 32>>, a: u32, b0: u32, b1: u32) {
- var v: array<u32, 32> = (*vv);
- var o0: u32 = v[a] + b0;
- var o1: u32 = v[a+1u] + b1;
- if (v[a] > 0xFFFFFFFFu - b0) { // did low 32 bits overflow?
+ fn add_uint64 (ptr_v: ptr<function, array<u32, 32>>, a: u32, b0: u32, b1: u32) {
+ var o0: u32 = (*ptr_v)[a] + b0;
+ var o1: u32 = (*ptr_v)[a+1u] + b1;
+ if ((*ptr_v)[a] > 0xFFFFFFFFu - b0) { // did low 32 bits overflow?
o1 = o1 + 1u;
}
- v[a] = o0;
- v[a+1u] = o1;
+ (*ptr_v)[a] = o0;
+ (*ptr_v)[a+1u] = o1;
}
/**