12 namespace algo {
namespace ad {
18 template <
typename I = boost::numeric::ublas::vector<
double> >
26 typedef I infinitesimal_type;
27 typedef I& infinitesimal_reference;
28 typedef const I& const_infinitesimal_reference;
35 : _value(0), _derivative(0)
44 template <
typename AE>
55 : _value(v), _derivative(0)
66 const infinitesimal_type& d)
67 : _value(v), _derivative(d)
108 infinitesimal_type _derivative;
dual(const dual_expression< AE > &ae)
Definition: dual.hpp:45
dual(const double &v, const infinitesimal_type &d)
TODO:need to check inf_type is same size.
Definition: dual.hpp:64
const double & getValue() const
Definition: dual.hpp:84
infinitesimal_reference getDerivative()
Definition: dual.hpp:93
double & getValue()
Definition: dual.hpp:75
Definition: dual_expression.hpp:19
Definition: ublas_matrix_expression_concept.hpp:5
const_infinitesimal_reference getDerivative() const
Definition: dual.hpp:102
dual(const double v)
Definition: dual.hpp:54