|
WarpX
|
Functions | |
| template<typename T > | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE const T * | upper_bound (const T *first, const T *last, const T &val) |
| Returns a pointer to the first element in the range [first, last) that is greater than val. More... | |
| template<typename T > | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | linear_interp (T x0, T x1, T f0, T f1, T x) |
| Performs a linear interpolation. More... | |
| template<typename T > | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | bilinear_interp (T x0, T x1, T y0, T y1, T f00, T f01, T f10, T f11, T x, T y) |
| Performs a bilinear interpolation. More... | |
| template<typename T > | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T | trilinear_interp (T x0, T x1, T y0, T y1, T z0, T z1, T f000, T f001, T f010, T f011, T f100, T f101, T f110, T f111, T x, T y, T z) |
| Performs a trilinear interpolation. More... | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T WarpXUtilAlgo::bilinear_interp | ( | T | x0, |
| T | x1, | ||
| T | y0, | ||
| T | y1, | ||
| T | f00, | ||
| T | f01, | ||
| T | f10, | ||
| T | f11, | ||
| T | x, | ||
| T | y | ||
| ) |
Performs a bilinear interpolation.
Performs a bilinear interpolation at (x,y) given the 4 points (x0, y0, f00), (x0, y1, f01), (x1, y0, f10), (x1, y1, f11).
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T WarpXUtilAlgo::linear_interp | ( | T | x0, |
| T | x1, | ||
| T | f0, | ||
| T | f1, | ||
| T | x | ||
| ) |
Performs a linear interpolation.
Performs a linear interpolation at x given the 2 points (x0, f0) and (x1, f1)
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T WarpXUtilAlgo::trilinear_interp | ( | T | x0, |
| T | x1, | ||
| T | y0, | ||
| T | y1, | ||
| T | z0, | ||
| T | z1, | ||
| T | f000, | ||
| T | f001, | ||
| T | f010, | ||
| T | f011, | ||
| T | f100, | ||
| T | f101, | ||
| T | f110, | ||
| T | f111, | ||
| T | x, | ||
| T | y, | ||
| T | z | ||
| ) |
Performs a trilinear interpolation.
Performs a trilinear interpolation at (x,y,z) given the 8 points (x0, y0, z0, f000), (x0, y0, z1, f001), (x0, y1, z0, f010), (x0, y1, z1, f011), (x1, y0, z0, f100), (x1, y0, z1, f101), (x1, y1, z0, f110), (x1, y1, z1, f111)
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE const T* WarpXUtilAlgo::upper_bound | ( | const T * | first, |
| const T * | last, | ||
| const T & | val | ||
| ) |
Returns a pointer to the first element in the range [first, last) that is greater than val.
A re-implementation of the upper_bound algorithm suitable for GPU kernels.
| first | pointer to left limit of the range to consider |
| last | pointer to right limit of the range to consider |
| val | value to compare the elements of [first, last) to |
1.8.13