8#include <similie/misc/are_all_same.hpp>
9#include <similie/misc/specialization.hpp>
18template <
class SimplexType,
class ElementType =
double>
28 SimplexType m_simplex;
32 KOKKOS_DEFAULTED_FUNCTION
constexpr Cosimplex() =
default;
50 static KOKKOS_FUNCTION
constexpr std::size_t
dimension() noexcept
52 return SimplexType::dimension();
55 KOKKOS_FUNCTION SimplexType
simplex() noexcept
60 KOKKOS_FUNCTION SimplexType
const simplex() const noexcept
67 return m_simplex.discrete_element();
72 return m_simplex.discrete_element();
77 return m_simplex.discrete_vector();
82 return m_simplex.discrete_vector();
87 return m_simplex.negative();
92 return m_simplex.negative();
106template <misc::Specialization<Cosimplex> CosimplexType>
107std::ostream&
operator<<(std::ostream& out, CosimplexType
const& cosimplex)
109 out <<
" " << cosimplex.simplex() <<
": " << cosimplex.value() <<
"\n";
KOKKOS_FUNCTION element_type value() noexcept
SimplexType::discrete_vector_type discrete_vector_type
static KOKKOS_FUNCTION constexpr std::size_t dimension() noexcept
KOKKOS_DEFAULTED_FUNCTION constexpr Cosimplex(Cosimplex const &)=default
KOKKOS_FUNCTION element_type const value() const noexcept
KOKKOS_DEFAULTED_FUNCTION constexpr Cosimplex(Cosimplex &&)=default
KOKKOS_FUNCTION discrete_vector_type discrete_vector() noexcept
KOKKOS_FUNCTION discrete_element_type discrete_element() const noexcept
KOKKOS_FUNCTION SimplexType simplex() noexcept
KOKKOS_DEFAULTED_FUNCTION Cosimplex & operator=(Cosimplex const &other)=default
KOKKOS_DEFAULTED_FUNCTION ~Cosimplex()=default
KOKKOS_DEFAULTED_FUNCTION constexpr Cosimplex()=default
KOKKOS_FUNCTION discrete_vector_type discrete_vector() const noexcept
KOKKOS_FUNCTION SimplexType const simplex() const noexcept
KOKKOS_FUNCTION bool negative() noexcept
SimplexType::discrete_element_type discrete_element_type
KOKKOS_FUNCTION constexpr Cosimplex(SimplexType simplex, ElementType value) noexcept
KOKKOS_FUNCTION bool negative() const noexcept
KOKKOS_FUNCTION discrete_element_type discrete_element() noexcept
KOKKOS_DEFAULTED_FUNCTION Cosimplex & operator=(Cosimplex &&other)=default
std::ostream & operator<<(std::ostream &out, ChainType const &chain)
The top-level namespace of SimiLie.