1#![allow(missing_docs)]
10
11#[macro_use]
12mod cast;
13
14#[cfg(feature = "llvm-intrinsics")]
15mod llvm;
16#[cfg(not(feature = "llvm-intrinsics"))]
17mod native;
18pub mod signed;
19
20#[cfg(feature = "llvm-intrinsics")]
21pub use self::llvm::*;
22#[cfg(not(feature = "llvm-intrinsics"))]
23pub use self::native::*;
24
25#[cfg(test)]
26mod tests {
27 use super::*;
28 use crate::uint::U256;
29 use core::mem::MaybeUninit;
30
31 #[test]
32 fn unchecked_addition() {
33 let mut res = MaybeUninit::uninit();
34 add3(&mut res, &U256([1, 2]), &U256([3, 0]));
35 assert_eq!(unsafe { res.assume_init() }, U256([4, 2]));
36 }
37}