diff --git a/Src/Base/AMReX_Algorithm.H b/Src/Base/AMReX_Algorithm.H index 31889df4425..98f5f7d5a38 100644 --- a/Src/Base/AMReX_Algorithm.H +++ b/Src/Base/AMReX_Algorithm.H @@ -209,6 +209,24 @@ namespace amrex )) } + template::value_type>::value && + std::is_floating_point::value, + int>::type = 0> + AMREX_GPU_HOST_DEVICE + void linspace (ItType first, const ItType& last, const ValType& start, const ValType& stop) + { + const std::ptrdiff_t count = last-first; + if (count >= 2){ + const auto delta = (stop - start)/(count - 1); + for (std::ptrdiff_t i = 0; i < count-1; ++i){ + *(first++) = start + i*delta; + } + *first = stop; + } + } + namespace detail { struct clzll_tag {};