Stan Math Library  2.20.0
reverse mode automatic differentiation
precomp_vvv_vari.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_REV_CORE_PRECOMP_VVV_VARI_HPP
2 #define STAN_MATH_REV_CORE_PRECOMP_VVV_VARI_HPP
3 
6 
7 namespace stan {
8 namespace math {
9 
10 // use for single precomputed partials
11 class precomp_vvv_vari : public op_vvv_vari {
12  protected:
13  double da_;
14  double db_;
15  double dc_;
16 
17  public:
18  precomp_vvv_vari(double val, vari* avi, vari* bvi, vari* cvi, double da,
19  double db, double dc)
20  : op_vvv_vari(val, avi, bvi, cvi), da_(da), db_(db), dc_(dc) {}
21  void chain() {
22  avi_->adj_ += adj_ * da_;
23  bvi_->adj_ += adj_ * db_;
24  cvi_->adj_ += adj_ * dc_;
25  }
26 };
27 
28 } // namespace math
29 } // namespace stan
30 #endif
void chain()
Apply the chain rule to this variable based on the variables on which it depends. ...
The variable implementation base class.
Definition: vari.hpp:30
precomp_vvv_vari(double val, vari *avi, vari *bvi, vari *cvi, double da, double db, double dc)
double adj_
The adjoint of this variable, which is the partial derivative of this variable with respect to the ro...
Definition: vari.hpp:44

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