pub struct SharedAtomic<'a, T: ?Sized> { /* private fields */ }Implementations§
pub fn new(data: &'a mut GpuShared<T>) -> SharedAtomic<'a, T>
pub fn atomic_rmw<K: AtomicRMWKind>(&self, val: T) -> Twhere
T: Num,
Sourcepub fn index(&'a self, i: usize) -> SharedAtomic<'a, T>
pub fn index(&'a self, i: usize) -> SharedAtomic<'a, T>
Get a reference to the data inside the Atomic struct. This is unsafe because the user must ensure that no other thread is accessing the data at the same time.
Sourcepub fn atomic_addf(&self, val: T) -> Twhere
T: Float,
pub fn atomic_addf(&self, val: T) -> Twhere
T: Float,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::AddF]>
Sourcepub fn atomic_addi(&self, val: T) -> Twhere
T: PrimInt,
pub fn atomic_addi(&self, val: T) -> Twhere
T: PrimInt,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::AddI]>
Sourcepub fn atomic_assign(&self, val: T) -> Twhere
T: Num,
pub fn atomic_assign(&self, val: T) -> Twhere
T: Num,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::Assign]>
Sourcepub fn atomic_maximumf(&self, val: T) -> Twhere
T: Float,
pub fn atomic_maximumf(&self, val: T) -> Twhere
T: Float,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MaximumF]>
Sourcepub fn atomic_maxs(&self, val: T) -> Twhere
T: Signed,
pub fn atomic_maxs(&self, val: T) -> Twhere
T: Signed,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MaxS]>
Sourcepub fn atomic_maxu(&self, val: T) -> Twhere
T: Unsigned,
pub fn atomic_maxu(&self, val: T) -> Twhere
T: Unsigned,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MaxU]>
Sourcepub fn atomic_minimumf(&self, val: T) -> Twhere
T: Float,
pub fn atomic_minimumf(&self, val: T) -> Twhere
T: Float,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MinimumF]>
Sourcepub fn atomic_mins(&self, val: T) -> Twhere
T: Signed,
pub fn atomic_mins(&self, val: T) -> Twhere
T: Signed,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MinS]>
Sourcepub fn atomic_minu(&self, val: T) -> Twhere
T: Unsigned,
pub fn atomic_minu(&self, val: T) -> Twhere
T: Unsigned,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MinU]>
Sourcepub fn atomic_mulf(&self, val: T) -> Twhere
T: Float,
pub fn atomic_mulf(&self, val: T) -> Twhere
T: Float,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MulF]>
Sourcepub fn atomic_muli(&self, val: T) -> Twhere
T: PrimInt,
pub fn atomic_muli(&self, val: T) -> Twhere
T: PrimInt,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MulI]>
Sourcepub fn atomic_ori(&self, val: T) -> Twhere
T: PrimInt,
pub fn atomic_ori(&self, val: T) -> Twhere
T: PrimInt,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::OrI]>
Sourcepub fn atomic_andi(&self, val: T) -> Twhere
T: PrimInt,
pub fn atomic_andi(&self, val: T) -> Twhere
T: PrimInt,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::AndI]>
Sourcepub fn atomic_maxnumf(&self, val: T) -> Twhere
T: Float,
pub fn atomic_maxnumf(&self, val: T) -> Twhere
T: Float,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MaxNumF]>
Sourcepub fn atomic_minnumf(&self, val: T) -> Twhere
T: Float,
pub fn atomic_minnumf(&self, val: T) -> Twhere
T: Float,
Equivalent to: atomic_rmw::<[SharedAtomic<'a, T>::MinNumF]>