Automatic Differentiation
 
Loading...
Searching...
No Matches
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
7namespace stan {
8namespace math {
9
10// use for single precomputed partials
11class precomp_vvv_vari final : 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
precomp_vvv_vari(double val, vari *avi, vari *bvi, vari *cvi, double da, double db, double dc)
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...