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

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

#include <product.hh>

Inheritance diagram for RFFGen::MathematicalOperations::Product< F, G, class, class >:
RFFGen::Base

Public Member Functions

 Product ()=default
 Default constructor. May leave member variables uninitialized! Call update before using evaluation.
 
template<class InitF , class InitG >
 Product (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.
 
auto d0 () const noexcept
 Function value.
 
template<int id, class Arg , class IndexedArg = IndexedType<Arg,id>, class = std::enable_if_t< D1Type<IndexedArg>::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 = std::enable_if_t< D2Type<IndexedArgX,IndexedArgY>::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 = std::enable_if_t< D3Type<IndexedArgX,IndexedArgY,IndexedArgZ>::present >>
auto d3 (ArgX const &dx, ArgY const &dy, ArgZ const &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 = FunctionConceptCheck<F>, class = FunctionConceptCheck<G>>
struct RFFGen::MathematicalOperations::Product< F, G, class, class >

Product $fg$ 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 = FunctionConceptCheck<F>, class = FunctionConceptCheck<G>>
template<class InitF , class InitG >
RFFGen::MathematicalOperations::Product< F, G, class, class >::Product ( const InitF &  f_,
const InitG &  g_ 
)
inline

Constructor passing arguments to function constructors.

Parameters
f_input for constructor of left side of product
g_input for constructor of right side of product

Member Function Documentation

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

First directional derivative.

Parameters
dxdirection 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 = std::enable_if_t< D2Type<IndexedArgX,IndexedArgY>::present >>
auto RFFGen::MathematicalOperations::Product< F, G, class, class >::d2 ( ArgX const &  dx,
ArgY const &  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 = 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 = std::enable_if_t< D3Type<IndexedArgX,IndexedArgY,IndexedArgZ>::present >>
auto RFFGen::MathematicalOperations::Product< F, G, class, class >::d3 ( ArgX const &  dx,
ArgY const &  dy,
ArgZ const &  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: