Block-Structured AMR Software Framework
 
Loading...
Searching...
No Matches
AMReX_RealVect.H File Reference
#include <AMReX_Config.H>
#include <AMReX_Box.H>
#include <AMReX_REAL.H>
#include <AMReX_SPACE.H>
#include <AMReX_IntVect.H>
#include <AMReX_Utility.H>
#include <AMReX_Math.H>
#include <cmath>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <iosfwd>
#include <vector>

Go to the source code of this file.

Classes

class  amrex::RealVectND< dim >
 A Real vector in dim-dimensional space. More...
 
struct  std::tuple_size< amrex::RealVectND< dim > >
 
struct  std::tuple_element< s, amrex::RealVectND< dim > >
 

Namespaces

namespace  amrex
 
namespace  amrex::detail
 

Functions

template<class... Args, std::enable_if_t< IsConvertible_v< Real, Args... >, int > = 0>
__host__ __device__ amrex::RealVectND (Real, Real, Args...) -> RealVectND< sizeof...(Args)+2 >
 
template<int dim>
__host__ __device__ amrex::RealVectND (const IntVectND< dim > &) -> RealVectND< dim >
 
template<int dim>
__host__ __device__ amrex::RealVectND (const GpuArray< Real, dim > &) -> RealVectND< dim >
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::min (const RealVectND< dim > &p1, const RealVectND< dim > &p2) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::max (const RealVectND< dim > &p1, const RealVectND< dim > &p2) noexcept
 
template<int dim = 3>
__host__ __device__ RealVectND< dim > amrex::BASISREALV (int dir) noexcept
 
std::ostream & amrex::detail::real_vector_write (std::ostream &os, const Real *p, int dim)
 
std::istream & amrex::detail::real_vector_read (std::istream &is, Real *p, int dim)
 
template<int dim>
__host__ __device__ constexpr void amrex::detail::RealVectCat_imp (Real *&dst, const RealVectND< dim > &src) noexcept
 
template<int dim>
__host__ __device__ constexpr void amrex::detail::RealVectSplit_imp2 (RealVectND< dim > &dst, const Real *&src) noexcept
 
template<class T , std::size_t... Ns>
__host__ __device__ constexpr T amrex::detail::RealVectSplit_imp (T &retval, std::index_sequence< Ns... >, const Real *src) noexcept
 
Arithmetic functions
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator/ (Real s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator+ (Real s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator- (Real s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator* (Real s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator/ (const RealVectND< dim > &s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator+ (const RealVectND< dim > &s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator- (const RealVectND< dim > &s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::operator* (const RealVectND< dim > &s, const RealVectND< dim > &p) noexcept
 
template<int dim>
__host__ __device__ RealVectND< dim > amrex::scale (const RealVectND< dim > &p, Real s) noexcept
 
template<int dim>
std::ostream & amrex::operator<< (std::ostream &os, const RealVectND< dim > &p)
 
template<int dim>
std::istream & amrex::operator>> (std::istream &is, RealVectND< dim > &p)
 
template<int d, int... dims>
__host__ __device__ constexpr RealVectND< detail::get_sum< d, dims... >()> amrex::RealVectCat (const RealVectND< d > &v, const RealVectND< dims > &...vects) noexcept
 Returns a RealVectND obtained by concatenating the input RealVectNDs. The dimension of the return value equals the sum of the dimensions of the inputted RealVectNDs.
 
template<int d, int... dims>
__host__ __device__ constexpr GpuTuple< RealVectND< d >, RealVectND< dims >... > amrex::RealVectSplit (const RealVectND< detail::get_sum< d, dims... >()> &v) noexcept
 Returns a tuple of RealVectND obtained by splitting the input RealVectND according to the dimensions specified by the template arguments.
 
template<int new_dim, int old_dim>
__host__ __device__ constexpr RealVectND< new_dim > amrex::RealVectShrink (const RealVectND< old_dim > &iv) noexcept
 Returns a new RealVectND 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 RealVectND< new_dim > amrex::RealVectExpand (const RealVectND< old_dim > &iv, Real fill_extra=0) noexcept
 Returns a new RealVectND 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 RealVectND< new_dim > amrex::RealVectResize (const RealVectND< old_dim > &iv, Real fill_extra=0) noexcept
 Returns a new RealVectND of size new_dim by either shrinking or expanding iv.