5 #include <amdis/common/Concepts.hpp> 6 #include <amdis/common/DerivativeTraits.hpp> 7 #include <amdis/common/Index.hpp> 12 template <
class LocalFunction,
class Type,
13 REQUIRES(std::is_convertible_v<tag::derivative_type, Type>)>
15 -> decltype(lf.makeDerivative(type))
17 return lf.makeDerivative(type);
30 template <
class F,
class T>
31 auto require(F&& f, T&& t) -> decltype(
derivativeOf(f,t) );
36 template <
class F,
class T>
37 auto require(F&& f, T&& t) -> decltype(
derivativeOf(localFunction(f),t) );
42 template <
class F,
class I>
43 auto require(F&& f, I&& i) -> decltype( partial(f, i) );
50 template <
class GF,
class Type>
51 constexpr
bool HasDerivative = models<Definition::HasDerivative(GF,Type)>;
53 template <
class GF,
class Type>
54 using HasDerivative_t = models_t<Definition::HasDerivative(GF,Type)>;
58 template <
class GF,
class Type>
61 template <
class GF,
class Type>
62 using HasLocalFunctionDerivative_t = models_t<Definition::HasLocalFunctionDerivative(GF,Type)>;
67 constexpr
bool HasPartial = models<Definition::HasPartial(F,index_t<0>)>;
70 using HasPartial_t = models_t<Definition::HasPartial(F,index_t<0>)>;
Definition: Derivative.hpp:34
constexpr bool HasPartial
Functor F has free function partial(F,_0)
Definition: Derivative.hpp:67
Contains all classes needed for solving linear and non linear equation systems.
Definition: AdaptBase.hpp:6
auto derivativeOf(AnalyticLocalFunction< R(D), LC, F > const &lf, Type const &type)
Definition: AnalyticGridFunction.hpp:103
constexpr bool HasLocalFunctionDerivative
GridFunction GF has free function derivativeOf(localFunction(F))
Definition: Derivative.hpp:59
Definition: Derivative.hpp:28
Definition: Derivative.hpp:40
constexpr bool HasDerivative
GridFunction GF has free function derivativeOf(F,type)
Definition: Derivative.hpp:51