Chain two RobOptim functions. More...
#include <roboptim/core/operator/chain.hh>
Public Types | |
typedef detail::PromoteTrait < U, V >::T_promote | parentType_t |
typedef boost::shared_ptr< Chain > | ChainShPtr_t |
Public Member Functions | |
ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ (parentType_t) | |
Chain (boost::shared_ptr< U > left, boost::shared_ptr< V > right) | |
Chain operator constructor. More... | |
~Chain () | |
const boost::shared_ptr< U > & | left () const |
U & | left () |
const boost::shared_ptr< V > & | right () const |
V & | right () |
void | impl_compute (result_ref result, const_argument_ref x) const |
void | impl_gradient (gradient_ref gradient, const_argument_ref argument, size_type functionId=0) const |
void | impl_jacobian (jacobian_ref jacobian, const_argument_ref arg) const |
Chain two RobOptim functions.
Input: (size: right function input size) x
Output: x (size: left function output size) left (right (x))
(left (right (x)))' = left'(right(x)) * right'(x)
U | left input function type. |
V | right input function type. |
typedef boost::shared_ptr<Chain> roboptim::Chain< U, V >::ChainShPtr_t |
typedef detail::PromoteTrait<U, V>::T_promote roboptim::Chain< U, V >::parentType_t |
|
explicit |
Chain operator constructor.
left | Left function |
right | Right function |
roboptim::Chain< U, V >::~Chain | ( | ) |
void roboptim::Chain< U, V >::impl_compute | ( | result_ref | result, |
const_argument_ref | x | ||
) | const |
void roboptim::Chain< U, V >::impl_gradient | ( | gradient_ref | gradient, |
const_argument_ref | argument, | ||
size_type | functionId = 0 |
||
) | const |
void roboptim::Chain< U, V >::impl_jacobian | ( | jacobian_ref | jacobian, |
const_argument_ref | arg | ||
) | const |
|
inline |
|
inline |
|
inline |
|
inline |
roboptim::Chain< U, V >::ROBOPTIM_DIFFERENTIABLE_FUNCTION_FWD_TYPEDEFS_ | ( | parentType_t | ) |