Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::CA::ca_ghost_detail Namespace Reference

Functions

template<std::size_t N>
std::array< ca_size_t, N > enlarge_extents (const std::array< ca_size_t, N > &user, const std::size_t halo) noexcept
 Bump the storage extents by 2 * Halo on every axis.
 
ca_size_t positive_mod (ca_index_t v, const ca_size_t n) noexcept
 Wrap a possibly-negative index into [0, n) with positive modulo.
 
ca_size_t reflect_index (const ca_index_t v, const ca_size_t n) noexcept
 Reflect a signed coordinate into [0, n) using the no-repeat triangle wave that also powers Lattice::at_safe under ReflectiveBoundary.
 
ca_size_t clamp_index (const ca_index_t v, const ca_size_t n) noexcept
 Clamp a signed coordinate into [0, n - 1] for Neumann fills.
 

Function Documentation

◆ clamp_index()

ca_size_t Aleph::CA::ca_ghost_detail::clamp_index ( const ca_index_t  v,
const ca_size_t  n 
)
inlinenoexcept

Clamp a signed coordinate into [0, n - 1] for Neumann fills.

Definition at line 122 of file tpl_ca_ghost_lattice.H.

Referenced by Aleph::CA::Ghost_Lattice< Storage, Boundary, Halo >::refresh_halo().

◆ enlarge_extents()

template<std::size_t N>
std::array< ca_size_t, N > Aleph::CA::ca_ghost_detail::enlarge_extents ( const std::array< ca_size_t, N > &  user,
const std::size_t  halo 
)
inlinenoexcept

Bump the storage extents by 2 * Halo on every axis.

Definition at line 86 of file tpl_ca_ghost_lattice.H.

References Aleph::blossom_maximum_cardinality_matching(), and N.

◆ positive_mod()

ca_size_t Aleph::CA::ca_ghost_detail::positive_mod ( ca_index_t  v,
const ca_size_t  n 
)
inlinenoexcept

Wrap a possibly-negative index into [0, n) with positive modulo.

Definition at line 96 of file tpl_ca_ghost_lattice.H.

References m, and r.

Referenced by Aleph::CA::Ghost_Lattice< Storage, Boundary, Halo >::refresh_halo().

◆ reflect_index()

ca_size_t Aleph::CA::ca_ghost_detail::reflect_index ( const ca_index_t  v,
const ca_size_t  n 
)
inlinenoexcept

Reflect a signed coordinate into [0, n) using the no-repeat triangle wave that also powers Lattice::at_safe under ReflectiveBoundary.

Definition at line 107 of file tpl_ca_ghost_lattice.H.

References Aleph::blossom_maximum_cardinality_matching(), and r.

Referenced by Aleph::CA::Ghost_Lattice< Storage, Boundary, Halo >::refresh_halo().