ruint/algorithms/
add.rs

1use super::ops::{adc, sbb};
2
3/// `lhs += rhs + carry`
4#[inline(always)]
5pub fn adc_n(lhs: &mut [u64], rhs: &[u64], mut carry: u64) -> u64 {
6    for i in 0..lhs.len() {
7        (lhs[i], carry) = adc(lhs[i], rhs[i], carry);
8    }
9    carry
10}
11
12/// `lhs -= rhs - borrow`
13#[inline(always)]
14pub fn sbb_n(lhs: &mut [u64], rhs: &[u64], mut borrow: u64) -> u64 {
15    for i in 0..lhs.len() {
16        (lhs[i], borrow) = sbb(lhs[i], rhs[i], borrow);
17    }
18    borrow
19}