fastnum/bint/int/
saturating.rs1use crate::bint::{doc, intrinsics::ExpType, saturating::saturating_impl, Int, UInt};
2
3saturating_impl!(Int, I);
4
5#[doc = doc::saturating::impl_desc!()]
6impl<const N: usize> Int<N> {
7 #[doc = doc::saturating::saturating_add_unsigned!(I 256)]
8 #[must_use = doc::must_use_op!()]
9 #[inline(always)]
10 pub const fn saturating_add_unsigned(self, rhs: UInt<N>) -> Self {
11 Self(self.0.saturating_add_unsigned(rhs.0))
12 }
13
14 #[doc = doc::saturating::saturating_sub_unsigned!(I 256)]
15 #[must_use = doc::must_use_op!()]
16 #[inline(always)]
17 pub const fn saturating_sub_unsigned(self, rhs: UInt<N>) -> Self {
18 Self(self.0.saturating_sub_unsigned(rhs.0))
19 }
20
21 #[doc = doc::saturating::saturating_neg!(I 256)]
22 #[must_use = doc::must_use_op!()]
23 #[inline(always)]
24 pub const fn saturating_neg(self) -> Self {
25 Self(self.0.saturating_neg())
26 }
27
28 #[doc = doc::saturating::saturating_abs!(I 256)]
29 #[must_use = doc::must_use_op!()]
30 #[inline(always)]
31 pub const fn saturating_abs(self) -> Self {
32 Self(self.0.saturating_abs())
33 }
34}