@@ -1739,6 +1739,30 @@ mod verify {
17391739 }
17401740 }
17411741
1742+ // `unchecked_add` proofs
1743+ //
1744+ // Target types:
1745+ // i{8,16,32,64,128,size} and u{8,16,32,64,128,size} -- 12 types in total
1746+ //
1747+ // Target contracts:
1748+ // Preconditions: No overflow should occur
1749+ // #[requires(!self.overflowing_add(rhs).1)]
1750+ //
1751+ // Target function:
1752+ // pub const unsafe fn unchecked_add(self, rhs: Self) -> Self
1753+ generate_unchecked_math_harness ! ( i8 , unchecked_add, checked_unchecked_add_i8) ;
1754+ generate_unchecked_math_harness ! ( i16 , unchecked_add, checked_unchecked_add_i16) ;
1755+ generate_unchecked_math_harness ! ( i32 , unchecked_add, checked_unchecked_add_i32) ;
1756+ generate_unchecked_math_harness ! ( i64 , unchecked_add, checked_unchecked_add_i64) ;
1757+ generate_unchecked_math_harness ! ( i128 , unchecked_add, checked_unchecked_add_i128) ;
1758+ generate_unchecked_math_harness ! ( isize , unchecked_add, checked_unchecked_add_isize) ;
1759+ generate_unchecked_math_harness ! ( u8 , unchecked_add, checked_unchecked_add_u8) ;
1760+ generate_unchecked_math_harness ! ( u16 , unchecked_add, checked_unchecked_add_u16) ;
1761+ generate_unchecked_math_harness ! ( u32 , unchecked_add, checked_unchecked_add_u32) ;
1762+ generate_unchecked_math_harness ! ( u64 , unchecked_add, checked_unchecked_add_u64) ;
1763+ generate_unchecked_math_harness ! ( u128 , unchecked_add, checked_unchecked_add_u128) ;
1764+ generate_unchecked_math_harness ! ( usize , unchecked_add, checked_unchecked_add_usize) ;
1765+
17421766 // `unchecked_mul` proofs
17431767 //
17441768 // Target types:
@@ -1896,6 +1920,32 @@ mod verify {
18961920 usize :: MAX
18971921 ) ;
18981922
1923+ // `unchecked_sub` proofs
1924+ //
1925+ // Target types:
1926+ // i{8,16,32,64,128,size} and u{8,16,32,64,128,size} -- 12 types in total
1927+ //
1928+ // Target contracts:
1929+ // Preconditions: No overflow should occur
1930+ // #[requires(!self.overflowing_sub(rhs).1)]
1931+ //
1932+ // Target function:
1933+ // pub const unsafe fn unchecked_sub(self, rhs: Self) -> Self
1934+ //
1935+ // This function performs an unchecked subtraction operation.
1936+ generate_unchecked_math_harness ! ( i8 , unchecked_sub, checked_unchecked_sub_i8) ;
1937+ generate_unchecked_math_harness ! ( i16 , unchecked_sub, checked_unchecked_sub_i16) ;
1938+ generate_unchecked_math_harness ! ( i32 , unchecked_sub, checked_unchecked_sub_i32) ;
1939+ generate_unchecked_math_harness ! ( i64 , unchecked_sub, checked_unchecked_sub_i64) ;
1940+ generate_unchecked_math_harness ! ( i128 , unchecked_sub, checked_unchecked_sub_i128) ;
1941+ generate_unchecked_math_harness ! ( isize , unchecked_sub, checked_unchecked_sub_isize) ;
1942+ generate_unchecked_math_harness ! ( u8 , unchecked_sub, checked_unchecked_sub_u8) ;
1943+ generate_unchecked_math_harness ! ( u16 , unchecked_sub, checked_unchecked_sub_u16) ;
1944+ generate_unchecked_math_harness ! ( u32 , unchecked_sub, checked_unchecked_sub_u32) ;
1945+ generate_unchecked_math_harness ! ( u64 , unchecked_sub, checked_unchecked_sub_u64) ;
1946+ generate_unchecked_math_harness ! ( u128 , unchecked_sub, checked_unchecked_sub_u128) ;
1947+ generate_unchecked_math_harness ! ( usize , unchecked_sub, checked_unchecked_sub_usize) ;
1948+
18991949 // Part_2 `carrying_mul` proofs
19001950 //
19011951 // ====================== u8 Harnesses ======================
0 commit comments