|
| Chain ()=default |
| Default constructor. May leave member variables uninitialized! Call update before using evaluation.
|
|
template<class... InitFunction> |
| Chain (const InitFunction &...init) |
| Constructor. More...
|
|
| Chain (const F &f_, const G &g_) |
| Constructor taking copies of the functions to be chained. More...
|
|
template<class Arg > |
void | update (const Arg &x) |
| Reset point of evaluation.
|
|
template<int index, class Arg > |
void | updateVariable (const Arg &x) |
| Propagate call to updateVariable() to f and g.
|
|
const auto & | d0 () const noexcept |
| Function value.
|
|
template<int id, class Arg , class IndexedArg = IndexedType<Arg,id>, class IndexedFArg = IndexedType<FArg,id>, class = std::enable_if_t< ComputeChainD1< F , D1<G,IndexedArg> , IndexedFArg >::present>> |
auto | d1 (Arg const &dx) const |
| First directional derivative. More...
|
|
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idy>, class IndexedFArgX = IndexedType<FArg,idx>, class IndexedFArgY = IndexedType<FArg,idy>, class = std::enable_if_t< D2LazyType<IndexedArgX,IndexedArgY,IndexedFArgX,IndexedFArgY>::present >> |
auto | d2 (ArgX const &dx, ArgY const &dy) const |
| Second directional derivative. More...
|
|
template<int idx, int idy, int idz, class ArgX , class ArgY , class ArgZ , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idy>, class IndexedArgZ = IndexedType<ArgZ,idz>, class IndexedFArgX = IndexedType<FArg,idx>, class IndexedFArgY = IndexedType<FArg,idy>, class IndexedFArgZ = IndexedType<FArg,idz>, class = std::enable_if_t< D3LazyType<IndexedArgX,IndexedArgY,IndexedArgZ,IndexedFArgX,IndexedFArgY,IndexedFArgZ>::present >> |
auto | d3 (ArgX const &dx, ArgY const &dy, ArgZ const &dz) const |
| Third directional derivative. More...
|
|
template<class Arg > |
void | update (const Arg &) |
| Update on changed input.
|
|
template<int id, class Arg > |
void | updateVariable (const Arg &) |
| Empty variables.
|
|
template<class F, class G, class = FunctionConceptCheck<F>, class = FunctionConceptCheck<G>>
template<int id, class Arg , class IndexedArg = IndexedType<Arg,id>, class IndexedFArg = IndexedType<FArg,id>, class = std::enable_if_t< ComputeChainD1< F , D1<G,IndexedArg> , IndexedFArg >::present>>
First directional derivative.
- Parameters
-
dx | direction for which the derivative is computed |
template<class F, class G, class = FunctionConceptCheck<F>, class = FunctionConceptCheck<G>>
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idy>, class IndexedFArgX = IndexedType<FArg,idx>, class IndexedFArgY = IndexedType<FArg,idy>, class = std::enable_if_t< D2LazyType<IndexedArgX,IndexedArgY,IndexedFArgX,IndexedFArgY>::present >>
Second directional derivative.
- Parameters
-
dx | direction for which the derivative is computed |
dy | direction for which the derivative is computed |
template<class F, class G, class = FunctionConceptCheck<F>, class = FunctionConceptCheck<G>>
template<int idx, int idy, int idz, class ArgX , class ArgY , class ArgZ , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idy>, class IndexedArgZ = IndexedType<ArgZ,idz>, class IndexedFArgX = IndexedType<FArg,idx>, class IndexedFArgY = IndexedType<FArg,idy>, class IndexedFArgZ = IndexedType<FArg,idz>, class = std::enable_if_t< D3LazyType<IndexedArgX,IndexedArgY,IndexedArgZ,IndexedFArgX,IndexedFArgY,IndexedFArgZ>::present >>
Third directional derivative.
- Parameters
-
dx | direction for which the derivative is computed |
dy | direction for which the derivative is computed |
dz | direction for which the derivative is computed |