#![no_std]
#![doc = include_str!("../README.md")]
use crate::atomic_number::PrimitiveAtomicNumber;
mod atomic_float;
mod atomic_float_wrapper;
mod atomic_integer;
mod atomic_number;
pub use atomic_float::AtomicFloat;
pub use atomic_float::IntoAtomicFloat;
pub use atomic_float_wrapper::UseUpdateToAdd;
pub use atomic_float_wrapper::UseUpdateToMax;
pub use atomic_float_wrapper::UseUpdateToMin;
pub use atomic_float_wrapper::UseUpdateToSub;
pub use atomic_integer::IntoAtomicInteger;
pub use atomic_number::IntoAtomicNumber;
#[expect(private_bounds)]
pub struct AtomicNumber<P: PrimitiveAtomicNumber + Send> {
atomic: P::AN,
}
const _: [(); core::mem::size_of::<AtomicNumber<u32>>()] = [(); core::mem::size_of::<u32>()];
const _: [(); core::mem::align_of::<AtomicNumber<u32>>()] = [(); core::mem::align_of::<u32>()];
const _: [(); core::mem::size_of::<AtomicNumber<f32>>()] = [(); core::mem::size_of::<f32>()];
const _: [(); core::mem::align_of::<AtomicNumber<f32>>()] = [(); core::mem::align_of::<f32>()];