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