42 #ifndef KOKKOS_ATOMIC_UQ_ATOMIC_HPP 43 #define KOKKOS_ATOMIC_UQ_ATOMIC_HPP 46 #include "Kokkos_Core.hpp" 54 template <
typename Storage>
55 KOKKOS_INLINE_FUNCTION
61 typedef typename Storage::volatile_pointer pointer;
62 pointer dest_c = dest->coeff();
64 if (src.hasFastAccess(sz))
66 atomic_exchange(dest_c+i, src.fastAccessCoeff(i));
69 atomic_exchange(dest_c+i, src.coeff(i));
72 template <
typename Storage>
73 KOKKOS_INLINE_FUNCTION
79 typedef typename Storage::volatile_pointer pointer;
80 pointer dest_c = dest->coeff();
82 if (src.hasFastAccess(sz))
KOKKOS_INLINE_FUNCTION void atomic_add(volatile Sacado::UQ::PCE< Storage > *const dest, const Sacado::UQ::PCE< Storage > &src)
KOKKOS_INLINE_FUNCTION void atomic_assign(volatile Sacado::UQ::PCE< Storage > *const dest, const Sacado::UQ::PCE< Storage > &src)