1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
use ;
use digit;
/// Returns the result of a carry-add between `a` and `b` with
/// the given `carry`.
///
/// # Computes & Returns
///
/// result = a + b + carry
///
/// # Note
///
/// - The carry acts as input and will also store the
/// carry of this addition after the carry-add computation.
pub
/// Returns the result of a borrow-sub between `a` and `b` with
/// the given `borrow`.
///
/// # Computes & Returns
///
/// result = a - b - borrow
///
/// # Note
///
/// - Do not be confused: In subtraction the "carry" actually is called "borrow".
/// - The borrow acts as input and will also store the borrow of this subtraction
/// after the borrow-sub computation.
pub