wiwi_memory_usage/impls/
wrapping.rs1use crate::macros::impl_memory_usage_size_of;
2use core::num::Wrapping;
3
4impl_memory_usage_size_of! {
5 Wrapping<u8>
6 Wrapping<u16>
7 Wrapping<u32>
8 Wrapping<u64>
9 Wrapping<u128>
10 Wrapping<usize>
11
12 Wrapping<i8>
13 Wrapping<i16>
14 Wrapping<i32>
15 Wrapping<i64>
16 Wrapping<i128>
17 Wrapping<isize>
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23 use crate::{
24 MemoryUsage as _,
25 MemoryUsageStatic as _
26 };
27
28 macro_rules! test_wrapping {
29 { $($test_name:ident($ty:ident))* } => {
30 $(
31 #[test]
32 fn $test_name() {
33 let num_wrapping: Wrapping<$ty> = Wrapping(24); let num: $ty = 24; assert_eq!(num_wrapping.memory_usage(), num.memory_usage());
37 assert_eq!(<Wrapping<$ty>>::MEMORY_USAGE, $ty::MEMORY_USAGE);
38 }
39 )*
40 }
41 }
42
43 test_wrapping! {
44 wrapping_u8_usage(u8)
45 wrapping_u16_usage(u16)
46 wrapping_u32_usage(u32)
47 wrapping_u64_usage(u64)
48 wrapping_u128_usage(u128)
49 wrapping_usize_usage(usize)
50
51 wrapping_i8_usage(i8)
52 wrapping_i16_usage(i16)
53 wrapping_i32_usage(i32)
54 wrapping_i64_usage(i64)
55 wrapping_i128_usage(i128)
56 wrapping_isize_usage(isize)
57 }
58}