SimiLie
Loading...
Searching...
No Matches
sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > Class Template Reference

LocalChain class. More...

#include <local_chain.hpp>

Collaboration diagram for sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >:
Collaboration graph

Public Types

using memory_space = MemorySpace
 
using simplex_type = SimplexType
 
using simplices_type = Kokkos::View<SimplexType*, LayoutStridedPolicy, memory_space>
 
using discrete_element_type = typename simplex_type::discrete_element_type
 
using discrete_vector_type = typename simplex_type::discrete_vector_type
 
using vects_type = Kokkos::View<discrete_vector_type*, LayoutStridedPolicy, memory_space>
 
using iterator_type = Kokkos::Experimental::Impl::RandomAccessIterator<vects_type>
 

Public Member Functions

KOKKOS_DEFAULTED_FUNCTION constexpr LocalChain ()=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr LocalChain (LocalChain const &)=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr LocalChain (LocalChain &&)=default
 
template<misc::NotSpecialization< ddc::DiscreteVector >... T>
KOKKOS_FUNCTION constexpr LocalChain (vects_type allocation, T... simplex) noexcept
 
KOKKOS_FUNCTION constexpr LocalChain (vects_type allocation, simplices_type simplices, std::size_t size) noexcept
 
template<misc::Specialization< ddc::DiscreteVector >... T>
requires (sizeof...(T) >= 1)
KOKKOS_FUNCTION constexpr LocalChain (vects_type allocation, T... vect) noexcept
 
KOKKOS_FUNCTION constexpr LocalChain (vects_type allocation, std::size_t size) noexcept
 
KOKKOS_DEFAULTED_FUNCTION ~LocalChain ()=default
 
KOKKOS_DEFAULTED_FUNCTION LocalChainoperator= (LocalChain const &other)=default
 
KOKKOS_DEFAULTED_FUNCTION LocalChainoperator= (LocalChain &&other)=default
 
KOKKOS_FUNCTION simplices_typeallocation () noexcept
 
KOKKOS_FUNCTION std::size_t size () noexcept
 
KOKKOS_FUNCTION std::size_t size () const noexcept
 
KOKKOS_FUNCTION std::size_t allocation_size () noexcept
 
KOKKOS_FUNCTION std::size_t allocation_size () const noexcept
 
void resize ()
 
void resize (std::size_t size)
 
KOKKOS_FUNCTION int check ()
 
KOKKOS_FUNCTION auto begin ()
 
KOKKOS_FUNCTION auto begin () const
 
KOKKOS_FUNCTION auto end ()
 
KOKKOS_FUNCTION auto end () const
 
KOKKOS_FUNCTION auto cbegin () const
 
KOKKOS_FUNCTION auto cend () const
 
KOKKOS_FUNCTION simplex_type operator[] (std::size_t i) noexcept
 
KOKKOS_FUNCTION simplex_type const operator[] (std::size_t i) const noexcept
 
KOKKOS_FUNCTION LocalChainoperator++ ()
 
KOKKOS_FUNCTION LocalChainoperator+= (const std::size_t n)
 
KOKKOS_FUNCTION LocalChainoperator+= (const discrete_vector_type &vect)
 
KOKKOS_FUNCTION LocalChainoperator+= (const simplex_type &simplex)
 
KOKKOS_FUNCTION LocalChainoperator+= (const vects_type &vects_to_add)
 
KOKKOS_FUNCTION LocalChainoperator+= (const LocalChain &simplices_to_add)
 
KOKKOS_FUNCTION LocalChain operator+ (simplex_type simplex)
 
KOKKOS_FUNCTION LocalChain operator+ (LocalChain simplices_to_add)
 
LocalChain operator- ()=delete
 
LocalChain operator- (LocalChain)=delete
 
template<class T >
KOKKOS_FUNCTION LocalChainoperator*= (T t)
 
template<class T >
KOKKOS_FUNCTION auto operator* (T t)
 
KOKKOS_FUNCTION bool operator== (LocalChain simplices)
 

Static Public Member Functions

static KOKKOS_FUNCTION constexpr bool is_local () noexcept
 
static KOKKOS_FUNCTION constexpr std::size_t dimension () noexcept
 
static KOKKOS_FUNCTION constexpr bool negative ()
 

Detailed Description

template<class SimplexType, class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
class sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >

LocalChain class.

Definition at line 46 of file local_chain.hpp.

Member Typedef Documentation

◆ memory_space

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::memory_space = MemorySpace

Definition at line 49 of file local_chain.hpp.

◆ simplex_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::simplex_type = SimplexType

Definition at line 51 of file local_chain.hpp.

◆ simplices_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::simplices_type = Kokkos::View<SimplexType*, LayoutStridedPolicy, memory_space>

Definition at line 52 of file local_chain.hpp.

◆ discrete_element_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::discrete_element_type = typename simplex_type::discrete_element_type

Definition at line 53 of file local_chain.hpp.

◆ discrete_vector_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::discrete_vector_type = typename simplex_type::discrete_vector_type

Definition at line 54 of file local_chain.hpp.

◆ vects_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::vects_type = Kokkos::View<discrete_vector_type*, LayoutStridedPolicy, memory_space>

Definition at line 55 of file local_chain.hpp.

◆ iterator_type

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
using sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::iterator_type = Kokkos::Experimental::Impl::RandomAccessIterator<vects_type>

Definition at line 57 of file local_chain.hpp.

Constructor & Destructor Documentation

◆ LocalChain() [1/7]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( )
constexprdefault

◆ LocalChain() [2/7]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > const & )
constexprdefault

◆ LocalChain() [3/7]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > && )
constexprdefault

◆ LocalChain() [4/7]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<misc::NotSpecialization< ddc::DiscreteVector >... T>
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( vects_type allocation,
T... simplex )
inlineexplicitconstexprnoexcept

Definition at line 76 of file local_chain.hpp.

◆ LocalChain() [5/7]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( vects_type allocation,
simplices_type simplices,
std::size_t size )
inlineexplicitconstexprnoexcept

Definition at line 92 of file local_chain.hpp.

◆ LocalChain() [6/7]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<misc::Specialization< ddc::DiscreteVector >... T>
requires (sizeof...(T) >= 1)
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( vects_type allocation,
T... vect )
inlineexplicitconstexprnoexcept

Definition at line 131 of file local_chain.hpp.

◆ LocalChain() [7/7]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION constexpr sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::LocalChain ( vects_type allocation,
std::size_t size )
inlineexplicitconstexprnoexcept

Definition at line 140 of file local_chain.hpp.

◆ ~LocalChain()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::~LocalChain ( )
default

Member Function Documentation

◆ operator=() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator= ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > const & other)
default

◆ operator=() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_DEFAULTED_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator= ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > && other)
default

◆ is_local()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
static KOKKOS_FUNCTION constexpr bool sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::is_local ( )
inlinestaticconstexprnoexcept

Definition at line 153 of file local_chain.hpp.

◆ dimension()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
static KOKKOS_FUNCTION constexpr std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::dimension ( )
inlinestaticconstexprnoexcept

Definition at line 158 of file local_chain.hpp.

◆ allocation()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION simplices_type & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation ( )
inlinenoexcept

Definition at line 163 of file local_chain.hpp.

◆ size() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::size ( )
inlinenoexcept

Definition at line 168 of file local_chain.hpp.

◆ size() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::size ( ) const
inlinenoexcept

Definition at line 173 of file local_chain.hpp.

◆ allocation_size() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation_size ( )
inlinenoexcept

Definition at line 178 of file local_chain.hpp.

◆ allocation_size() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION std::size_t sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::allocation_size ( ) const
inlinenoexcept

Definition at line 183 of file local_chain.hpp.

◆ negative()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
static KOKKOS_FUNCTION constexpr bool sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::negative ( )
inlinestaticconstexpr

Definition at line 188 of file local_chain.hpp.

◆ resize() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
void sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::resize ( )
inline

Definition at line 193 of file local_chain.hpp.

◆ resize() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
void sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::resize ( std::size_t size)
inline

Definition at line 198 of file local_chain.hpp.

◆ check()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION int sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::check ( )
inline

Definition at line 203 of file local_chain.hpp.

◆ begin() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::begin ( )
inline

Definition at line 217 of file local_chain.hpp.

◆ begin() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::begin ( ) const
inline

Definition at line 222 of file local_chain.hpp.

◆ end() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::end ( )
inline

Definition at line 227 of file local_chain.hpp.

◆ end() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::end ( ) const
inline

Definition at line 232 of file local_chain.hpp.

◆ cbegin()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::cbegin ( ) const
inline

Definition at line 237 of file local_chain.hpp.

◆ cend()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::cend ( ) const
inline

Definition at line 242 of file local_chain.hpp.

◆ operator[]() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION simplex_type sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator[] ( std::size_t i)
inlinenoexcept

Definition at line 247 of file local_chain.hpp.

◆ operator[]() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION simplex_type const sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator[] ( std::size_t i) const
inlinenoexcept

Definition at line 253 of file local_chain.hpp.

◆ operator++()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator++ ( )
inline

Definition at line 259 of file local_chain.hpp.

◆ operator+=() [1/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const std::size_t n)
inline

Definition at line 266 of file local_chain.hpp.

◆ operator+=() [2/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const discrete_vector_type & vect)
inline

Definition at line 273 of file local_chain.hpp.

◆ operator+=() [3/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const simplex_type & simplex)
inline

Definition at line 281 of file local_chain.hpp.

◆ operator+=() [4/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const vects_type & vects_to_add)
inline

Definition at line 289 of file local_chain.hpp.

◆ operator+=() [5/5]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+= ( const LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > & simplices_to_add)
inline

Definition at line 299 of file local_chain.hpp.

◆ operator+() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+ ( simplex_type simplex)
inline

Definition at line 309 of file local_chain.hpp.

◆ operator+() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION LocalChain sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator+ ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > simplices_to_add)
inline

Definition at line 316 of file local_chain.hpp.

◆ operator-() [1/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
LocalChain sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator- ( )
delete

◆ operator-() [2/2]

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
LocalChain sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator- ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > )
delete

◆ operator*=()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<class T >
KOKKOS_FUNCTION LocalChain & sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator*= ( T t)
inline

Definition at line 328 of file local_chain.hpp.

◆ operator*()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
template<class T >
KOKKOS_FUNCTION auto sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator* ( T t)
inline

Definition at line 340 of file local_chain.hpp.

◆ operator==()

template<class SimplexType , class LayoutStridedPolicy = Kokkos::LayoutRight, class MemorySpace = Kokkos::HostSpace>
KOKKOS_FUNCTION bool sil::exterior::LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace >::operator== ( LocalChain< SimplexType, LayoutStridedPolicy, MemorySpace > simplices)
inline

Definition at line 347 of file local_chain.hpp.


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