SimiLie
Loading...
Searching...
No Matches
sil::tensor::TensorNaturalIndex< CDim > Struct Template Reference

#include <tensor_impl.hpp>

Collaboration diagram for sil::tensor::TensorNaturalIndex< CDim >:
Collaboration graph

Public Types

using type_seq_dimensions = ddc::detail::TypeSeq<CDim...>
 
using subindices_domain_t = ddc::DiscreteDomain<>
 

Static Public Member Functions

static KOKKOS_FUNCTION constexpr subindices_domain_t subindices_domain ()
 
static KOKKOS_FUNCTION constexpr std::size_t rank ()
 
static KOKKOS_FUNCTION constexpr std::size_t size ()
 
static KOKKOS_FUNCTION constexpr std::size_t mem_size ()
 
static KOKKOS_FUNCTION constexpr std::size_t access_size ()
 
template<class ODim >
static KOKKOS_FUNCTION constexpr std::size_t mem_id ()
 
static KOKKOS_FUNCTION constexpr std::size_t mem_id (std::size_t const natural_id)
 
static KOKKOS_FUNCTION constexpr std::size_t access_id (std::size_t const natural_id)
 
static KOKKOS_FUNCTION constexpr std::size_t access_id_to_mem_id (std::size_t access_id)
 
template<class Tensor , class Elem , class Id , class FunctorType >
static KOKKOS_FUNCTION constexpr Tensor::element_type process_access (const FunctorType &access, Tensor tensor, Elem elem)
 
static KOKKOS_FUNCTION constexpr std::array< std::size_t, rank()> mem_id_to_canonical_natural_ids (std::size_t mem_id)
 

Static Public Attributes

static constexpr bool is_tensor_index = true
 
static constexpr bool is_tensor_natural_index = true
 
static constexpr bool is_explicitely_stored_tensor = true
 

Detailed Description

template<class... CDim>
struct sil::tensor::TensorNaturalIndex< CDim >

Definition at line 19 of file tensor_impl.hpp.

Member Typedef Documentation

◆ type_seq_dimensions

template<class... CDim>
using sil::tensor::TensorNaturalIndex< CDim >::type_seq_dimensions = ddc::detail::TypeSeq<CDim...>

Definition at line 25 of file tensor_impl.hpp.

◆ subindices_domain_t

template<class... CDim>
using sil::tensor::TensorNaturalIndex< CDim >::subindices_domain_t = ddc::DiscreteDomain<>

Definition at line 27 of file tensor_impl.hpp.

Member Function Documentation

◆ subindices_domain()

template<class... CDim>
static KOKKOS_FUNCTION constexpr subindices_domain_t sil::tensor::TensorNaturalIndex< CDim >::subindices_domain ( )
inlinestaticconstexpr

Definition at line 29 of file tensor_impl.hpp.

◆ rank()

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::rank ( )
inlinestaticconstexpr

Definition at line 34 of file tensor_impl.hpp.

◆ size()

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::size ( )
inlinestaticconstexpr

Definition at line 39 of file tensor_impl.hpp.

◆ mem_size()

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::mem_size ( )
inlinestaticconstexpr

Definition at line 48 of file tensor_impl.hpp.

◆ access_size()

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::access_size ( )
inlinestaticconstexpr

Definition at line 53 of file tensor_impl.hpp.

◆ mem_id() [1/2]

template<class... CDim>
template<class ODim >
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::mem_id ( )
inlinestaticconstexpr

Definition at line 59 of file tensor_impl.hpp.

◆ mem_id() [2/2]

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::mem_id ( std::size_t const natural_id)
inlinestaticconstexpr

Definition at line 68 of file tensor_impl.hpp.

◆ access_id()

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::access_id ( std::size_t const natural_id)
inlinestaticconstexpr

Definition at line 73 of file tensor_impl.hpp.

◆ access_id_to_mem_id()

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::size_t sil::tensor::TensorNaturalIndex< CDim >::access_id_to_mem_id ( std::size_t access_id)
inlinestaticconstexpr

Definition at line 78 of file tensor_impl.hpp.

◆ process_access()

template<class... CDim>
template<class Tensor , class Elem , class Id , class FunctorType >
static KOKKOS_FUNCTION constexpr Tensor::element_type sil::tensor::TensorNaturalIndex< CDim >::process_access ( const FunctorType & access,
Tensor tensor,
Elem elem )
inlinestaticconstexpr

Definition at line 84 of file tensor_impl.hpp.

◆ mem_id_to_canonical_natural_ids()

template<class... CDim>
static KOKKOS_FUNCTION constexpr std::array< std::size_t, rank()> sil::tensor::TensorNaturalIndex< CDim >::mem_id_to_canonical_natural_ids ( std::size_t mem_id)
inlinestaticconstexpr

Definition at line 93 of file tensor_impl.hpp.

Member Data Documentation

◆ is_tensor_index

template<class... CDim>
bool sil::tensor::TensorNaturalIndex< CDim >::is_tensor_index = true
staticconstexpr

Definition at line 21 of file tensor_impl.hpp.

◆ is_tensor_natural_index

template<class... CDim>
bool sil::tensor::TensorNaturalIndex< CDim >::is_tensor_natural_index = true
staticconstexpr

Definition at line 22 of file tensor_impl.hpp.

◆ is_explicitely_stored_tensor

template<class... CDim>
bool sil::tensor::TensorNaturalIndex< CDim >::is_explicitely_stored_tensor = true
staticconstexpr

Definition at line 23 of file tensor_impl.hpp.


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