SimiLie
Loading...
Searching...
No Matches
sil::misc Namespace Reference

Classes

struct  is_specialization_of
 
struct  is_specialization_of< T, T< Us... > >
 

Concepts

concept  Specialization
 
concept  NotSpecialization
 

Typedefs

template<class T >
using to_type_seq_t = typename detail::ToTypeSeq<T>::type
 
template<template< class... > class T, class Seq >
using convert_type_seq_to_t = typename detail::ConvertTypeSeqTo<T, Seq>::type
 
template<class TagSeqA , class TagSeqB >
using type_seq_intersect_t = ddc::type_seq_remove_t<TagSeqA, ddc::type_seq_remove_t<TagSeqA, TagSeqB>>
 

Functions

template<class Head , class... Tail>
constexpr bool are_all_equal (Head head, Tail... tail)
 
template<misc::Specialization< std::vector > T>
constexpr bool are_all_equal (T t)
 
constexpr std::size_t binomial_coefficient (std::size_t n, std::size_t k) noexcept
 
template<class... DDim, class... ODDim>
KOKKOS_FUNCTION bool domain_contains (ddc::DiscreteDomain< DDim... > dom, ddc::DiscreteElement< ODDim... > elem)
 
constexpr std::size_t factorial (std::size_t k) noexcept
 
template<class T , class ElementType = std::size_t>
constexpr T filled_struct (ElementType const n=0)
 
template<std::size_t N>
constexpr int permutation_parity (std::array< std::size_t, N > lst)
 
template<class Seq , class T >
KOKKOS_FUNCTION auto select_from_type_seq (T t)
 

Variables

template<class Head , class... Tail>
constexpr bool are_all_same = (std::is_same_v<Head, Tail> && ...)
 

Typedef Documentation

◆ to_type_seq_t

template<class T >
using sil::misc::to_type_seq_t = typename detail::ToTypeSeq<T>::type

Definition at line 29 of file type_seq_conversion.hpp.

◆ convert_type_seq_to_t

template<template< class... > class T, class Seq >
using sil::misc::convert_type_seq_to_t = typename detail::ConvertTypeSeqTo<T, Seq>::type

Definition at line 45 of file type_seq_conversion.hpp.

◆ type_seq_intersect_t

template<class TagSeqA , class TagSeqB >
using sil::misc::type_seq_intersect_t = ddc::type_seq_remove_t<TagSeqA, ddc::type_seq_remove_t<TagSeqA, TagSeqB>>

Definition at line 13 of file type_seq_ext.hpp.

Function Documentation

◆ are_all_equal() [1/2]

template<class Head , class... Tail>
bool sil::misc::are_all_equal ( Head head,
Tail... tail )
inlineconstexpr

Definition at line 16 of file are_all_same.hpp.

◆ are_all_equal() [2/2]

template<misc::Specialization< std::vector > T>
bool sil::misc::are_all_equal ( T t)
inlineconstexpr

Definition at line 22 of file are_all_same.hpp.

◆ binomial_coefficient()

std::size_t sil::misc::binomial_coefficient ( std::size_t n,
std::size_t k )
inlineconstexprnoexcept

Definition at line 13 of file binomial_coefficient.hpp.

◆ domain_contains()

template<class... DDim, class... ODDim>
KOKKOS_FUNCTION bool sil::misc::domain_contains ( ddc::DiscreteDomain< DDim... > dom,
ddc::DiscreteElement< ODDim... > elem )

Definition at line 35 of file domain_contains.hpp.

◆ factorial()

std::size_t sil::misc::factorial ( std::size_t k)
inlineconstexprnoexcept

Definition at line 13 of file factorial.hpp.

◆ filled_struct()

template<class T , class ElementType = std::size_t>
T sil::misc::filled_struct ( ElementType const n = 0)
inlineconstexpr

Definition at line 31 of file filled_struct.hpp.

◆ permutation_parity()

template<std::size_t N>
int sil::misc::permutation_parity ( std::array< std::size_t, N > lst)
inlineconstexpr

Definition at line 19 of file permutation_parity.hpp.

◆ select_from_type_seq()

template<class Seq , class T >
KOKKOS_FUNCTION auto sil::misc::select_from_type_seq ( T t)

Definition at line 30 of file select_from_type_seq.hpp.

Variable Documentation

◆ are_all_same

template<class Head , class... Tail>
bool sil::misc::are_all_same = (std::is_same_v<Head, Tail> && ...)
inlineconstexpr

Definition at line 13 of file are_all_same.hpp.