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}