/* Copyright 2019 Andrew Myers, Maxence Thevenet, Weiqun Zhang * * * This file is part of WarpX. * * License: BSD-3-Clause-LBNL */ #include "BilinearFilter.H" #include "Utils/WarpXProfilerWrapper.H" #include #include #include #include #include #include #include #include #include using namespace amrex; namespace { void compute_stencil(Gpu::DeviceVector &stencil, unsigned int npass) { Vector old_s(1u+npass,0.); Vector new_s(1u+npass,0.); old_s.at(0) = 1._rt; int jmax = 1; // Convolve the filter with itself npass times int const lastpass = static_cast(npass+1u); for(int ipass=1; ipass< lastpass; ipass++){ // element 0 has to be treated in its own way new_s.at(0) = 0.5_rt * old_s.at(0); if (1