funcy  1.6.1
Public Member Functions | Public Attributes | List of all members
funcy::mathop::Product< F, G > Struct Template Reference

Product \(fg\) of functions of type F and G. More...

#include <product.h>

Inheritance diagram for funcy::mathop::Product< F, G >:
Inheritance graph
[legend]
Collaboration diagram for funcy::mathop::Product< F, G >:
Collaboration graph
[legend]

Public Member Functions

constexpr Product (const F &f_, const G &g_)
 Constructor passing arguments to function constructors. More...
 
constexpr Product (const F &f_, G &&g_)
 Constructor passing arguments to function constructors. More...
 
constexpr Product (F &&f_, const G &g_)
 Constructor passing arguments to function constructors. More...
 
constexpr Product (F &&f_, G &&g_)
 Constructor passing arguments to function constructors. More...
 
template<class InitF , class InitG >
constexpr Product (InitF &&f_, InitG &&g_) requires(std
 Constructor passing arguments to function constructors. More...
 
template<class Arg >
void update (Arg const &x)
 Update point of evaluation.
 
template<int index, class Arg >
void update (const Arg &x)
 Update variable corresponding to index.
 
template<class... IndexedArgs>
void bulk_update (IndexedArgs &&... args)
 
template<int id, class Arg , class IndexedArg = IndexedType< Arg, id >>
auto d1 (Arg const &dx) const requires(D1Type< IndexedArg >
 First directional derivative. More...
 
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType< ArgX, idx >, class IndexedArgY = IndexedType< ArgY, idy >>
auto d2 (ArgX const &dx, ArgY const &dy) const requires(D2Type< IndexedArgX
 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 >>
auto d3 (ArgX const &dx, ArgY const &dy, ArgZ const &dz) const requires(D3Type< IndexedArgX
 Third directional derivative. More...
 

Public Attributes

auto IndexedArgY
 

Detailed Description

template<Function F, Function G>
struct funcy::mathop::Product< F, G >

Product \(fg\) of functions of type F and G.

Constructor & Destructor Documentation

◆ Product() [1/5]

template<Function F, Function G>
constexpr funcy::mathop::Product< F, G >::Product ( const F &  f_,
const G &  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

◆ Product() [2/5]

template<Function F, Function G>
constexpr funcy::mathop::Product< F, G >::Product ( const F &  f_,
G &&  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

◆ Product() [3/5]

template<Function F, Function G>
constexpr funcy::mathop::Product< F, G >::Product ( F &&  f_,
const G &  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

◆ Product() [4/5]

template<Function F, Function G>
constexpr funcy::mathop::Product< F, G >::Product ( F &&  f_,
G &&  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

◆ Product() [5/5]

template<Function F, Function G>
template<class InitF , class InitG >
constexpr funcy::mathop::Product< F, G >::Product ( InitF &&  f_,
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

◆ d1()

template<Function F, Function G>
template<int id, class Arg , class IndexedArg = IndexedType< Arg, id >>
auto funcy::mathop::Product< F, G >::d1 ( Arg const &  dx) const
inline

First directional derivative.

Parameters
dxdirection for which the derivative is computed

◆ d2()

template<Function F, Function G>
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType< ArgX, idx >, class IndexedArgY = IndexedType< ArgY, idy >>
auto funcy::mathop::Product< F, G >::d2 ( ArgX const &  dx,
ArgY const &  dy 
) const

Second directional derivative.

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

◆ d3()

template<Function F, Function 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 >>
auto funcy::mathop::Product< F, G >::d3 ( ArgX const &  dx,
ArgY const &  dy,
ArgZ const &  dz 
) const

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: