3 releases (stable)
1.1.0 | Aug 31, 2024 |
---|---|
1.0.0 | May 4, 2024 |
0.1.0 | Sep 14, 2020 |
#30 in Concurrency
110,777 downloads per month
Used in 344 crates
(31 directly)
67KB
386 lines
atomic_float
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.
Dependencies
~165KB