in atomics/src/macros/float.rs [64:75]
fn compare_exchange_weak(
&self,
current: Self::Primitive,
new: Self::Primitive,
success: Ordering,
failure: Ordering,
) -> Result<Self::Primitive, Self::Primitive> {
self.inner
.compare_exchange_weak(current.to_bits(), new.to_bits(), success, failure)
.map(<$type>::from_bits)
.map_err(<$type>::from_bits)
}