Stan Math Library  2.20.0
reverse mode automatic differentiation
operator_multiplication.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_FWD_CORE_OPERATOR_MULTIPLICATION_HPP
2 #define STAN_MATH_FWD_CORE_OPERATOR_MULTIPLICATION_HPP
3 
5 
6 namespace stan {
7 namespace math {
8 
17 template <typename T>
18 inline fvar<T> operator*(const fvar<T>& x, const fvar<T>& y) {
19  return fvar<T>(x.val_ * y.val_, x.d_ * y.val_ + x.val_ * y.d_);
20 }
21 
30 template <typename T>
31 inline fvar<T> operator*(double x, const fvar<T>& y) {
32  return fvar<T>(x * y.val_, x * y.d_);
33 }
34 
43 template <typename T>
44 inline fvar<T> operator*(const fvar<T>& x, double y) {
45  return fvar<T>(x.val_ * y, x.d_ * y);
46 }
47 
48 } // namespace math
49 } // namespace stan
50 #endif
T d_
The tangent (derivative) of this variable.
Definition: fvar.hpp:50
fvar< T > operator*(const fvar< T > &x, const fvar< T > &y)
Return the product of the two arguments.
T val_
The value of this variable.
Definition: fvar.hpp:45
This template class represents scalars used in forward-mode automatic differentiation, which consist of values and directional derivatives of the specified template type.
Definition: fvar.hpp:41

     [ Stan Home Page ] © 2011–2018, Stan Development Team.