|
fmatvec
0.0.0
|
A function object with 1 argument. More...
#include <function.h>
Public Types | |
| enum | { retSize1 = StaticSize<Ret>::size1 , retSize2 = StaticSize<Ret>::size2 } |
| Compile time size of the return value: =0 == unknown compile time size. | |
| using | DRetDArg = typename Der< Ret, Arg >::type |
| using | DRetDDir = typename DirDer< Ret, Arg >::type |
| using | DDRetDDArg = typename Der< DRetDArg, Arg >::type |
| using | RetType = Ret |
| using | ArgType = boost::mpl::list< Arg > |
Public Types inherited from fmatvec::Atom | |
| enum | MsgType { Info , Warn , Debug , Error , Deprecated , Status , SIZE } |
| Messages can be printed to different message types named here. | |
Public Member Functions | |
| virtual std::pair< int, int > | getRetSize () const |
| Return the size of the return value: =0 == unknown size. | |
| virtual int | getArgSize () const |
| Return the size of the argument: =1 == scalar; >1 == vector; =0 == unknown vector size. | |
| virtual Ret | operator() (const Arg &arg)=0 |
| Function value: pure virtual (MUST be implemented by derived class) | |
| virtual DRetDArg | parDer (const Arg &arg) |
| First derivative: partial derivative of the function value with respect to the argument. | |
| virtual DRetDDir | dirDer (const Arg &argDir, const Arg &arg) |
| First derivative: directional derivative of the function value with respect to the argument. | |
| virtual DDRetDDArg | parDerParDer (const Arg &arg) |
| Second derivative: partial derivative of parDer with respect to the argument. | |
| virtual DRetDArg | parDerDirDer (const Arg &argDir, const Arg &arg) |
| Second derivative: directional derivative of parDer with respect to the argument. | |
| virtual DRetDDir | dirDerDirDer (const Arg &argDir_1, const Arg &argDir_2, const Arg &arg) |
| Second derivative: directional derivative of dirDer with respect to the argument. | |
| virtual bool | constParDer () const |
| Returns true, if the partial derivative of the function value with respect to the argument. | |
Public Member Functions inherited from fmatvec::Atom | |
| virtual | ~Atom () |
| dtor. | |
| Atom & | operator= (const Atom &) |
| When a Atom is assinged do not change the messsage streams since we always use the message streams being active at ctor time. | |
| void | setMessageStreamActive (MsgType type, bool activeFlag) |
| Set the active flag of this object and all objects which were created using the same message stream as this object. | |
| void | getMessageStream (MsgType type, std::shared_ptr< bool > &a, std::shared_ptr< std::ostream > &s) const |
| Get the shared message stream active flag and the shared message stream of this object. | |
| void | adoptMessageStreams (const Atom *src=nullptr) |
| osyncstream | msg (MsgType type) const |
| bool | msgAct (MsgType type) const |
Static Public Attributes | |
| static constexpr int | argSize = StaticSize<Arg>::size1 |
| Compile time size of the argument: =1 == scalar; >1 == vector; =0 == unknown compile time vector size. | |
Additional Inherited Members | |
Static Public Member Functions inherited from fmatvec::Atom | |
| static void | setCurrentMessageStream (MsgType type, const std::shared_ptr< bool > &a=std::make_shared< bool >(true), const std::shared_ptr< std::ostream > &s=std::make_shared< std::ostream >(std::cout.rdbuf())) |
| static osyncstream | msgStatic (MsgType type) |
| static bool | msgActStatic (MsgType type) |
Protected Member Functions inherited from fmatvec::Atom | |
| Atom () | |
| When a Atom is default constructed use the current statically set message streams. | |
| Atom (const Atom &src) | |
| When a Atom is copy constructed use the current statically set message streams, not the message streams from src. | |
A function object with 1 argument.