int*)dest, assume.i, newval.i);   } while (assume.i != oldval.i);    return oldval.t; }  //----------------------------------------------------------------------------  template <typename T> __inline__ __device__ T atomic_fetch_sub(volatile T* const dest,                  typename std::enable_if<(sizeof(T) != 0) && (sizeof(T) != 0),                                          const T>::type& val) { 