RFFGen
 All Classes Namespaces Files Functions Typedefs Enumerations Groups
Public Member Functions | List of all members
RFFGen::MathematicalOperations::Sum< F, G, CheckF, CheckG > Struct Template Reference

Sum of functions of type F and G (F and G must satisfy the requirements of Concepts::FunctionConcept). More...

#include <sum.hh>

Inheritance diagram for RFFGen::MathematicalOperations::Sum< F, G, CheckF, CheckG >:
RFFGen::Base

Public Member Functions

template<class InitF , class InitG >
 Sum (const InitF &f_, const InitG &g_)
 Constructor passing arguments to function constructors. More...
 
template<class Arg >
void update (Arg const &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 = std::enable_if_t< ComputeSum< D1<F,IndexedArg>, D1<G,IndexedArg> >::present >>
auto d1 (const Arg &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 = std::enable_if_t< ComputeSum< D2<F,IndexedArgX,IndexedArgY>, D2<G,IndexedArgX,IndexedArgY> >::present >>
auto d2 (const ArgX &dx, const ArgY &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 = std::enable_if_t< ComputeSum< D3<F,IndexedArgX,IndexedArgY,IndexedArgZ>, D3<G,IndexedArgX,IndexedArgY,IndexedArgZ> >::present >>
auto d3 (const ArgX &dx, const ArgY &dy, const ArgZ &dz) const
 Third directional derivative. More...
 
- Public Member Functions inherited from RFFGen::Base
template<class Arg >
void update (const Arg &)
 Update on changed input.
 
template<int id, class Arg >
void updateVariable (const Arg &)
 Empty variables.
 

Detailed Description

template<class F, class G, class CheckF = FunctionConceptCheck<F>, class CheckG = FunctionConceptCheck<G>>
struct RFFGen::MathematicalOperations::Sum< F, G, CheckF, CheckG >

Sum of functions of type F and G (F and G must satisfy the requirements of Concepts::FunctionConcept).

Constructor & Destructor Documentation

template<class F, class G, class CheckF = FunctionConceptCheck<F>, class CheckG = FunctionConceptCheck<G>>
template<class InitF , class InitG >
RFFGen::MathematicalOperations::Sum< F, G, CheckF, CheckG >::Sum ( const InitF &  f_,
const InitG &  g_ 
)
inline

Constructor passing arguments to function constructors.

Parameters
f_input for constructor of first summand
g_input for constructor of second summand

Member Function Documentation

template<class F, class G, class CheckF = FunctionConceptCheck<F>, class CheckG = FunctionConceptCheck<G>>
template<int id, class Arg , class IndexedArg = IndexedType<Arg,id>, class = std::enable_if_t< ComputeSum< D1<F,IndexedArg>, D1<G,IndexedArg> >::present >>
auto RFFGen::MathematicalOperations::Sum< F, G, CheckF, CheckG >::d1 ( const Arg &  dx) const
inline

First directional derivative.

Parameters
dxdirection for which the derivative is computed
template<class F, class G, class CheckF = FunctionConceptCheck<F>, class CheckG = FunctionConceptCheck<G>>
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType<ArgX,idx>, class IndexedArgY = IndexedType<ArgY,idy>, class = std::enable_if_t< ComputeSum< D2<F,IndexedArgX,IndexedArgY>, D2<G,IndexedArgX,IndexedArgY> >::present >>
auto RFFGen::MathematicalOperations::Sum< F, G, CheckF, CheckG >::d2 ( const ArgX &  dx,
const ArgY &  dy 
) const
inline

Second directional derivative.

Parameters
dxdirection for which the derivative is computed
dydirection for which the derivative is computed
template<class F, class G, class CheckF = FunctionConceptCheck<F>, class CheckG = 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 = std::enable_if_t< ComputeSum< D3<F,IndexedArgX,IndexedArgY,IndexedArgZ>, D3<G,IndexedArgX,IndexedArgY,IndexedArgZ> >::present >>
auto RFFGen::MathematicalOperations::Sum< F, G, CheckF, CheckG >::d3 ( const ArgX &  dx,
const ArgY &  dy,
const ArgZ &  dz 
) const
inline

Third directional derivative.

Parameters
dxdirection for which the derivative is computed
dydirection for which the derivative is computed
dzdirection for which the derivative is computed

The documentation for this struct was generated from the following file: