# Generic Atomics
[](https://crates.io/crates/generic-atomics) [](https://docs.rs/generic-atomics/) [](https://blog.rust-lang.org/2026/07/16/Rust-1.97.1/)
Generic Atomic type for types that implement num-primitive traits.
## Compatibility
The crate is tested for stable and nightly compiler.
Current MSRV is `1.97.1`.
## Usage
Add this to your `Cargo.toml`:
```toml
[dependencies]
generic-atomics = "0.1"
```
## Example
```rust
use generic_atomics::{
Atomic, IntoAtomicFloat, UseUpdateToAdd,
};
use std::sync::atomic::Ordering;
fn main() {
let fourtytwo = 42.0f64;
let one = 1f64;
let af = fourtytwo.into_atomic_float();
af.fetch_add_via_update(one, Ordering::Relaxed);
assert_eq!(fourtytwo + one, af.load(Ordering::Relaxed));
}
```
# Context
This crate started from [atomic_float](https://crates.io/crates/atomic_float) and the code generated by the macros of [atomic-traits](https://crates.io/crates/atomic-traits), unlike atomic_float this provides a generic AtomicFlaot<T: PrimitiveFloat> that implements the atomic-traits.