![]() |
Block-Structured AMR Software Framework
|
#include <AMReX_Config.H>#include <AMReX.H>#include <AMReX_INT.H>#include <AMReX_SPACE.H>#include <AMReX_Array.H>#include <AMReX_Vector.H>#include <AMReX_Dim3.H>#include <AMReX_BLassert.H>#include <AMReX_Extension.H>#include <AMReX_GpuQualifiers.H>#include <AMReX_Math.H>#include <AMReX_Tuple.H>#include <AMReX_TypeTraits.H>#include <iosfwd>#include <cstdlib>#include <cmath>#include <limits>#include <climits>#include <algorithm>Go to the source code of this file.
Classes | |
| class | amrex::IntVectND< dim > |
| An Integer Vector in dim-Dimensional Space. More... | |
| struct | amrex::IntVectND< dim >::shift_hasher |
| Hash function for IntVectND. More... | |
| struct | std::tuple_size< amrex::IntVectND< dim > > |
| struct | std::tuple_element< s, amrex::IntVectND< dim > > |
Namespaces | |
| namespace | amrex |
Functions | |
| __host__ __device__ int | amrex::coarsen (int i, int ratio) noexcept |
| template<int ratio> | |
| __host__ __device__ int | amrex::coarsen (int i) noexcept |
| template<std::size_t dim> | |
| __host__ __device__ | amrex::IntVectND (const Array< int, dim > &) -> IntVectND< dim > |
| template<class... Args> requires (IsConvertible_v<int, Args...>) | |
| __host__ __device__ | amrex::IntVectND (int, int, Args...) -> IntVectND< sizeof...(Args)+2 > |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::operator+ (int s, const IntVectND< dim > &p) noexcept |
| Returns p + s. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::operator- (int s, const IntVectND< dim > &p) noexcept |
| Returns -p + s. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::operator* (int s, const IntVectND< dim > &p) noexcept |
| Returns p * s. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::min (const IntVectND< dim > &p1, const IntVectND< dim > &p2) noexcept |
| Returns the IntVectND that is the component-wise minimum of two argument IntVectNDs. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::elemwiseMin (const IntVectND< dim > &p1, const IntVectND< dim > &p2) noexcept |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::max (const IntVectND< dim > &p1, const IntVectND< dim > &p2) noexcept |
| Returns the IntVectND that is the component-wise maximum of two argument IntVectNDs. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::elemwiseMax (const IntVectND< dim > &p1, const IntVectND< dim > &p2) noexcept |
| template<int dim = 3> | |
| __host__ __device__ IntVectND< dim > | amrex::BASISV (int dir) noexcept |
| Returns a basis vector in the given coordinate direction; eg. IntVectND<3> BASISV<3>(1) == (0,1,0). Note that the coordinate directions are zero based. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::scale (const IntVectND< dim > &p, int s) noexcept |
| Returns a IntVectND obtained by multiplying each of the components of this IntVectND by s. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::reflect (const IntVectND< dim > &a, int ref_ix, int idir) noexcept |
| Returns an IntVectND that is the reflection of input in the plane which passes through ref_ix and normal to the coordinate direction idir. | |
| template<int dim> | |
| __host__ __device__ constexpr IntVectND< dim > | amrex::diagShift (const IntVectND< dim > &p, int s) noexcept |
| Returns IntVectND obtained by adding s to each of the components of this IntVectND. | |
| template<int dim> | |
| __host__ __device__ IntVectND< dim > | amrex::coarsen (const IntVectND< dim > &p, int s) noexcept |
| Returns an IntVectND that is the component-wise integer projection of p by s. | |
| template<int dim> | |
| __host__ __device__ IntVectND< dim > | amrex::coarsen (const IntVectND< dim > &p1, const IntVectND< dim > &p2) noexcept |
| Returns an IntVectND which is the component-wise integer projection of IntVectND p1 by IntVectND p2. | |
| template<int dim> requires ( 1<=dim && dim<=3 ) | |
| __host__ __device__ constexpr Dim3 | amrex::refine (Dim3 const &coarse, IntVectND< dim > const &ratio) noexcept |
| template<int dim> requires ( 1<=dim && dim<=3 ) | |
| __host__ __device__ Dim3 | amrex::coarsen (Dim3 const &fine, IntVectND< dim > const &ratio) noexcept |
| template<int dim> | |
| std::ostream & | amrex::operator<< (std::ostream &os, const IntVectND< dim > &iv) |
| Streams an IntVectND as a parenthesized, comma-separated tuple. | |
| template<int dim> | |
| std::istream & | amrex::operator>> (std::istream &is, IntVectND< dim > &iv) |
| Extracts an IntVectND from the canonical parenthesized tuple syntax. | |
| template<int d, int... dims> | |
| __host__ __device__ constexpr IntVectND< detail::get_sum< d, dims... >()> | amrex::IntVectCat (const IntVectND< d > &v, const IntVectND< dims > &...vects) noexcept |
| Returns a IntVectND obtained by concatenating the input IntVectNDs. The dimension of the return value equals the sum of the dimensions of the inputted IntVectNDs. | |
| template<int d, int... dims> | |
| __host__ __device__ constexpr GpuTuple< IntVectND< d >, IntVectND< dims >... > | amrex::IntVectSplit (const IntVectND< detail::get_sum< d, dims... >()> &v) noexcept |
| Returns a tuple of IntVectND obtained by splitting the input IntVectND according to the dimensions specified by the template arguments. | |
| template<int new_dim, int old_dim> | |
| __host__ __device__ constexpr IntVectND< new_dim > | amrex::IntVectShrink (const IntVectND< old_dim > &iv) noexcept |
| Returns a new IntVectND of size new_dim and assigns the first new_dim values of iv to it. | |
| template<int new_dim, int old_dim> | |
| __host__ __device__ constexpr IntVectND< new_dim > | amrex::IntVectExpand (const IntVectND< old_dim > &iv, int fill_extra=0) noexcept |
| Returns a new IntVectND of size new_dim and assigns all values of iv to it andĀ fill_extra to the remaining elements. | |
| template<int new_dim, int old_dim> | |
| __host__ __device__ constexpr IntVectND< new_dim > | amrex::IntVectResize (const IntVectND< old_dim > &iv, int fill_extra=0) noexcept |
| Returns a new IntVectND of size new_dim by either shrinking or expanding iv. | |
| template<std::size_t I, int dim> | |
| __host__ __device__ constexpr int | amrex::get (IntVectND< dim > const &iv) noexcept |
| Get I'th element of IntVectND<dim> | |
| template<typename F , int dim> | |
| __host__ __device__ constexpr auto | amrex::Apply (F &&f, IntVectND< dim > const &iv) |