https://mooseframework.inl.gov
Classes | Namespaces | Functions
CompileTimeDerivativesMaterialInternal.h File Reference

Go to the source code of this file.

Classes

struct  CompileTimeDerivativesMaterialInternal::type_identity< T >
 

Namespaces

 CompileTimeDerivativesMaterialInternal
 
 CompileTimeDerivativesMaterialInternal::details
 

Functions

template<std::size_t first, std::size_t second, std::size_t... tail>
constexpr bool CompileTimeDerivativesMaterialInternal::details::is_sorted ()
 Check if the given index sequence is sorted ()internal function) More...
 
template<std::size_t N>
constexpr std::size_t CompileTimeDerivativesMaterialInternal::details::factorial ()
 Compile time evaluation of the factorial of N. More...
 
template<std::size_t N, std::size_t M>
constexpr std::size_t CompileTimeDerivativesMaterialInternal::details::num_derivatives ()
 Number of distinct order N derivatives of a function with M variables. More...
 
template<std::size_t... first, std::size_t... second>
constexpr auto CompileTimeDerivativesMaterialInternal::details::merge (std::index_sequence< first... >, std::index_sequence< second... >)
 Merge two index sequences into one. More...
 
template<std::size_t Nmax, std::size_t first, std::size_t... tail>
constexpr auto CompileTimeDerivativesMaterialInternal::details::increment (std::index_sequence< first, tail... >)
 Increment the first number in an index sequence, but roll over into the next number if it reaches Nmax. More...
 
template<std::size_t M, std::size_t... N>
constexpr std::size_t CompileTimeDerivativesMaterialInternal::details::total_derivatives (std::index_sequence< N... >)
 Compute the total number of distinct derivatives for all orders N. More...
 
template<std::size_t... Ns>
constexpr auto CompileTimeDerivativesMaterialInternal::details::zeroes (std::index_sequence< Ns... >)
 Take an index sequence and return an index sequence of the same length with all entries replaced by zeroes. More...
 
template<std::size_t first, std::size_t second, std::size_t... tail>
constexpr bool CompileTimeDerivativesMaterialInternal::is_sorted (std::index_sequence< first, second, tail... >)
 Check if the given index sequence is sorted. More...
 
template<std::size_t first>
constexpr bool CompileTimeDerivativesMaterialInternal::is_sorted (std::index_sequence< first >)
 A sequence of size 1 is always sorted. More...
 
template<std::size_t N, std::size_t M>
constexpr std::size_t CompileTimeDerivativesMaterialInternal::total_derivatives ()
 Compute the total number of distinct derivatives for all orders 1 through N. More...
 
template<typename T , std::size_t... Ns>
constexpr auto CompileTimeDerivativesMaterialInternal::make_tuple_array (std::index_sequence< Ns... >)
 Create a tuple with sizeof...(Ns) entries, containing CTArrayRefs with tags given by the Ns... More...
 
template<std::size_t N>
constexpr auto CompileTimeDerivativesMaterialInternal::zeroes ()
 Create an index sequence containing N zeroes. More...
 
template<typename T , std::size_t first, std::size_t... tags>
auto CompileTimeDerivativesMaterialInternal::take_derivatives (const T &expression, std::index_sequence< first, tags... >)
 Take all derivatives of expression listed in the index sequence. More...