|
WarpX
|
Functions | |
| template<typename TV , typename TE , class = typename std::enable_if<std::is_convertible<TE,TV>::value>::type> | |
| bool | is_in (const std::vector< TV > &vect, const TE &elem) |
| Returns true if an item of type TE is in a vector of TV objects (provided that TE can be converted into TV), false otherwise. More... | |
| template<typename TV , typename TE , class = typename std::enable_if<std::is_convertible<TE,TV>::value>::type> | |
| bool | any_of_is_in (const std::vector< TV > &vect, const std::vector< TE > &elems) |
| Returns true if any of the items of a vector<TE> is contained in another vector<TV> (provided that TE can be converted into TV) 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... | |
| 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... | |
| bool utils::algorithms::any_of_is_in | ( | const std::vector< TV > & | vect, |
| const std::vector< TE > & | elems | ||
| ) |
Returns true if any of the items of a vector<TE> is contained in another vector<TV> (provided that TE can be converted into TV)
| TV | the typename of the first vector elements |
| TV | the typename of the second vector elements |
| vect | a vector of TV objects |
| elems | a vector of TE objects |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T utils::algorithms::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).
| bool utils::algorithms::is_in | ( | const std::vector< TV > & | vect, |
| const TE & | elem | ||
| ) |
Returns true if an item of type TE is in a vector of TV objects (provided that TE can be converted into TV), false otherwise.
| TV | the typename of the vector elements |
| TE | the typename of the item |
| vect | a vector of TV objects |
| elem | an object of type TE |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE T utils::algorithms::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 utils::algorithms::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* utils::algorithms::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