Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamrock::patch::PatchCoord< dim > Class Template Reference
Collaboration diagram for shamrock::patch::PatchCoord< dim >:

Public Member Functions

 PatchCoord (std::array< u64, dim > coord_min, std::array< u64, dim > coord_max)
auto split () -> std::array< PatchCoord, splts_count >
shammath::CoordRange< u64_3 > get_patch_range () const

Static Public Member Functions

static auto get_split_coord (std::array< u64, dim > coord_min, std::array< u64, dim > coord_max) -> std::array< u64, dim >
static auto get_split (std::array< u64, dim > coord_min, std::array< u64, dim > coord_max) -> std::array< PatchCoord, splts_count >
static PatchCoord merge (PatchCoord c1, PatchCoord c2)
static PatchCoord merge (std::array< PatchCoord, splts_count > others)
template<class T>
static std::tuple< sycl::vec< T, 3 >, sycl::vec< T, 3 > > convert_coord (std::array< u64, dim > coord_min, std::array< u64, dim > coord_max, std::array< u64, dim > pcoord_offset, sycl::vec< T, 3 > divfact, sycl::vec< T, 3 > offset)

Public Attributes

std::array< u64, dim > coord_min
std::array< u64, dim > coord_max

Static Public Attributes

static constexpr u32 splts_count = 1U << dim

Detailed Description

template<u32 dim = 3U>
class shamrock::patch::PatchCoord< dim >

Definition at line 24 of file PatchCoord.hpp.

Constructor & Destructor Documentation

◆ PatchCoord()

template<u32 dim = 3U>
shamrock::patch::PatchCoord< dim >::PatchCoord ( std::array< u64, dim > coord_min,
std::array< u64, dim > coord_max )
inline

Definition at line 33 of file PatchCoord.hpp.

Member Function Documentation

◆ convert_coord()

template<u32 dim = 3U>
template<class T>
std::tuple< sycl::vec< T, 3 >, sycl::vec< T, 3 > > shamrock::patch::PatchCoord< dim >::convert_coord ( std::array< u64, dim > coord_min,
std::array< u64, dim > coord_max,
std::array< u64, dim > pcoord_offset,
sycl::vec< T, 3 > divfact,
sycl::vec< T, 3 > offset )
inlinestatic

Definition at line 142 of file PatchCoord.hpp.

◆ get_patch_range()

template<u32 dim = 3U>
shammath::CoordRange< u64_3 > shamrock::patch::PatchCoord< dim >::get_patch_range ( ) const
inlinenodiscard

Definition at line 135 of file PatchCoord.hpp.

◆ get_split()

template<u32 dim = 3U>
auto shamrock::patch::PatchCoord< dim >::get_split ( std::array< u64, dim > coord_min,
std::array< u64, dim > coord_max )->std::array< PatchCoord, splts_count >
inlinestatic

Definition at line 45 of file PatchCoord.hpp.

◆ get_split_coord()

template<u32 dim = 3U>
auto shamrock::patch::PatchCoord< dim >::get_split_coord ( std::array< u64, dim > coord_min,
std::array< u64, dim > coord_max )->std::array< u64, dim >
inlinestaticnodiscard

Definition at line 36 of file PatchCoord.hpp.

◆ merge() [1/2]

template<u32 dim = 3U>
PatchCoord shamrock::patch::PatchCoord< dim >::merge ( PatchCoord< dim > c1,
PatchCoord< dim > c2 )
inlinestatic

Definition at line 119 of file PatchCoord.hpp.

◆ merge() [2/2]

template<u32 dim = 3U>
PatchCoord shamrock::patch::PatchCoord< dim >::merge ( std::array< PatchCoord< dim >, splts_count > others)
inlinestatic

Definition at line 129 of file PatchCoord.hpp.

◆ split()

template<u32 dim = 3U>
auto shamrock::patch::PatchCoord< dim >::split ( ) ->std::array< PatchCoord, splts_count >
inline

Definition at line 115 of file PatchCoord.hpp.

Member Data Documentation

◆ coord_max

template<u32 dim = 3U>
std::array<u64, dim> shamrock::patch::PatchCoord< dim >::coord_max

Definition at line 29 of file PatchCoord.hpp.

◆ coord_min

template<u32 dim = 3U>
std::array<u64, dim> shamrock::patch::PatchCoord< dim >::coord_min

Definition at line 28 of file PatchCoord.hpp.

◆ splts_count

template<u32 dim = 3U>
u32 shamrock::patch::PatchCoord< dim >::splts_count = 1U << dim
staticconstexpr

Definition at line 26 of file PatchCoord.hpp.


The documentation for this class was generated from the following file: