Algorith sandbox
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
algo::ad::dual< I > Class Template Reference

#include <dual.hpp>

Inheritance diagram for algo::ad::dual< I >:
algo::ad::dual_expression< dual< I > >

Public Types

typedef const self_typeconst_closure_type
 
typedef I infinitesimal_type
 
typedef I & infinitesimal_reference
 
typedef const I & const_infinitesimal_reference
 
- Public Types inherited from algo::ad::dual_expression< dual< I > >
typedef dual< I > expression_type
 
typedef const dual< I > & const_reference
 

Public Member Functions

template<typename AE >
 dual (const dual_expression< AE > &ae)
 
 dual (const double v)
 
 dual (const double &v, const infinitesimal_type &d)
 TODO:need to check inf_type is same size. More...
 
double & getValue ()
 
const double & getValue () const
 
infinitesimal_reference getDerivative ()
 
const_infinitesimal_reference getDerivative () const
 
- Public Member Functions inherited from algo::ad::dual_expression< dual< I > >
const_reference operator() () const
 

Private Types

typedef dual< I > self_type
 

Private Attributes

double _value
 
infinitesimal_type _derivative
 

Detailed Description

template<typename I = boost::numeric::ublas::vector<double>>
class algo::ad::dual< I >

Template Parameters
I

Constructor & Destructor Documentation

template<typename I = boost::numeric::ublas::vector<double>>
template<typename AE >
algo::ad::dual< I >::dual ( const dual_expression< AE > &  ae)
inline
Template Parameters
AE
Parameters
ae
template<typename I = boost::numeric::ublas::vector<double>>
algo::ad::dual< I >::dual ( const double  v)
inline
Parameters
v
template<typename I = boost::numeric::ublas::vector<double>>
algo::ad::dual< I >::dual ( const double &  v,
const infinitesimal_type &  d 
)
inline

TODO:need to check inf_type is same size.

Parameters
v
d

Member Function Documentation

template<typename I = boost::numeric::ublas::vector<double>>
infinitesimal_reference algo::ad::dual< I >::getDerivative ( )
inline
Returns
template<typename I = boost::numeric::ublas::vector<double>>
const_infinitesimal_reference algo::ad::dual< I >::getDerivative ( ) const
inline
Returns
template<typename I = boost::numeric::ublas::vector<double>>
double& algo::ad::dual< I >::getValue ( )
inline
Returns
template<typename I = boost::numeric::ublas::vector<double>>
const double& algo::ad::dual< I >::getValue ( ) const
inline
Returns

The documentation for this class was generated from the following file: