/**
* 64-bit unsigned addition within the compression buffer
- * Sets v[a,a+1] += b
- * b0 is the low 32 bits of b, b1 represents the high 32 bits
+ * Sets v[i,i+1] += b
+ * LSb is the Least-Significant (32) Bits of b
+ * MSb is the Most-Significant (32) Bits of b
+ * If LSb overflows, increment MSb operand
*/
- fn add_uint64 (v: ptr<function, array<u32, 32>>, a: u32, b0: u32, b1: u32) {
- 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 (v: ptr<function, array<u32, 32>>, i: u32, LSb: u32, MSb: u32) {
+ var o0: u32 = (*v)[i] + LSb;
+ var o1: u32 = (*v)[i+1u] + MSb;
+ if ((*v)[i] > 0xFFFFFFFFu - LSb) { // did low 32 bits overflow?
o1 = o1 + 1u;
}
- (*v)[a] = o0;
- (*v)[a+1u] = o1;
+ (*v)[i] = o0;
+ (*v)[i+1u] = o1;
}
/**