#atomic #float #floating-point #atomicf32

no-std atomic_float

Floating point types which can be safely shared between threads

2 releases (1 stable)

1.0.0 May 4, 2024
0.1.0 Sep 14, 2020

#40 in Concurrency

Download history 14865/week @ 2024-02-15 15845/week @ 2024-02-22 13889/week @ 2024-02-29 13466/week @ 2024-03-07 14516/week @ 2024-03-14 14592/week @ 2024-03-21 14739/week @ 2024-03-28 12841/week @ 2024-04-04 12713/week @ 2024-04-11 14827/week @ 2024-04-18 14363/week @ 2024-04-25 13144/week @ 2024-05-02 16354/week @ 2024-05-09 13819/week @ 2024-05-16 12936/week @ 2024-05-23 11252/week @ 2024-05-30

57,204 downloads per month
Used in 304 crates (19 directly)

Apache-2.0 OR MIT OR Unlicense

68KB
394 lines

atomic_float

Build Status codecov Docs Latest Version

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

at your option.

Dependencies

~170KB