12 namespace algo {
namespace ad {
namespace detail {
25 auto dual_negate_helper(
const dual_expression<E>& e)
26 -> decltype(-e().getDerivative())
28 return -e().getDerivative();
37 double dual_negate_helper(
const double e)
53 auto dual_exp_helper(
const dual_expression<E>& e)
54 -> decltype(boost::numeric::ublas::exp(e().getDerivative()))
56 return boost::numeric::ublas::exp(e().getDerivative());
65 double dual_exp_helper(
const double e)
81 auto dual_log_helper(
const dual_expression<E>& e)
82 -> decltype(boost::numeric::ublas::element_inverse(e().getDerivative()))
84 return boost::numeric::ublas::element_inverse(e().getDerivative());
93 double dual_log_helper(
const double e)
109 auto dual_sin_helper(
const dual_expression<E>& e)
110 -> decltype(boost::numeric::ublas::cos(e().getDerivative()))
112 return boost::numeric::ublas::cos(e().getDerivative());
121 double dual_sin_helper(
const double e)
137 auto dual_cos_helper(
const dual_expression<E>& e)
138 -> decltype(-boost::numeric::ublas::sin(e().getDerivative()))
140 return -boost::numeric::ublas::sin(e().getDerivative());
149 double dual_cos_helper(
const double e)
Definition: ublas_matrix_expression_concept.hpp:5