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

Squared function \(f^2\). More...

#include <squared.h>

Inheritance diagram for funcy::mathop::Squared< F >:
Inheritance graph
[legend]
Collaboration diagram for funcy::mathop::Squared< F >:
Collaboration graph
[legend]

Public Member Functions

constexpr Squared (F &&f_)
 Constructor. More...
 
constexpr Squared (const F &f_)
 Constructor. More...
 
template<class InitF , std::enable_if_t< !std::is_same< std::decay_t< InitF >, Squared >::value > * = nullptr>
constexpr Squared (InitF &&f_) requires std
 Constructor. 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(ComputeProduct< D0< F >
 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(D2Sum< 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(D3Sum< IndexedArgX
 Third directional derivative. More...
 

Public Attributes

auto IndexedArgY
 

Detailed Description

template<Function F>
struct funcy::mathop::Squared< F >

Squared function \(f^2\).

Constructor & Destructor Documentation

◆ Squared() [1/3]

template<Function F>
constexpr funcy::mathop::Squared< F >::Squared ( F &&  f_)
inline

Constructor.

Parameters
f_initializer for F

◆ Squared() [2/3]

template<Function F>
constexpr funcy::mathop::Squared< F >::Squared ( const F &  f_)
inline

Constructor.

Parameters
f_initializer for F

◆ Squared() [3/3]

template<Function F>
template<class InitF , std::enable_if_t< !std::is_same< std::decay_t< InitF >, Squared >::value > * = nullptr>
constexpr funcy::mathop::Squared< F >::Squared ( InitF &&  f_)
inline

Constructor.

Parameters
f_initializer for F

Member Function Documentation

◆ d1()

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

First directional derivative.

Parameters
dxdirection for which the derivative is computed

◆ d2()

template<Function F>
template<int idx, int idy, class ArgX , class ArgY , class IndexedArgX = IndexedType< ArgX, idx >, class IndexedArgY = IndexedType< ArgY, idy >>
auto funcy::mathop::Squared< F >::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>
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::Squared< F >::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: