U128, Ordering}; let foo = AtomicU128::new(23); assert_eq!(foo.fetch_min(42, Ordering::Relaxed), 23); assert_eq!(foo.load(Ordering::Relaxed), 23); assert_eq!(foo.fetch_min(22, Ordering::Relaxed), 23); assert_eq!(foo.load(Ordering::Relaxed), 22); ``` If you want to obtain the minimum value in one step, you can use the following: ``` use portable_atomic::{AtomicU128, Ordering}; let foo = AtomicU128::new(23); let bar = 12; let min_foo = foo.fetch_min(bar, Ordering::SeqCst).min(bar); assert_eq!(min_foo, 12); ```