This crate provides AtomicF32 and AtomicF64 types that behave almost identically to the integer atomics in the stdlib.
Usage
use atomic_float::AtomicF32; use core::sync::atomic::Ordering::Relaxed; static A_STATIC: AtomicF32 = AtomicF32::new(800.0); // Should support the full std::sync::atomic::AtomicFoo API A_STATIC.fetch_add(30.0, Relaxed); A_STATIC.fetch_sub(-55.0, Relaxed); // But also supports things that can be implemented // efficiently easily, like sign-bit operations. A_STATIC.fetch_neg(Relaxed); assert_eq!(A_STATIC.load(Relaxed), -885.0);
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Public domain, as explained by the Unlicense (UNLICENSE or http://opensource.org/licenses/Unlicense)
at your option.