1 #ifndef __STAN__AGRAD__REV__FMA_HPP__
2 #define __STAN__AGRAD__REV__FMA_HPP__
17 class fma_vvv_vari :
public op_vvv_vari {
19 fma_vvv_vari(vari* avi, vari* bvi, vari* cvi) :
20 op_vvv_vari(avi->val_ * bvi->val_ + cvi->val_,
30 class fma_vvd_vari :
public op_vv_vari {
32 fma_vvd_vari(vari* avi, vari* bvi,
double c) :
33 op_vv_vari(avi->val_ * bvi->val_ + c,
42 class fma_vdv_vari :
public op_vdv_vari {
44 fma_vdv_vari(vari* avi,
double b, vari* cvi) :
45 op_vdv_vari(avi->val_ * b + cvi->val_,
54 class fma_vdd_vari :
public op_vd_vari {
56 fma_vdd_vari(vari* avi,
double b,
double c) :
57 op_vd_vari(avi->val_ * b + c,
65 class fma_ddv_vari :
public op_v_vari {
67 fma_ddv_vari(
double a,
double b, vari* cvi) :
68 op_v_vari(a * b + cvi->val_,
125 return var(
new fma_vvd_vari(a.
vi_,b.
vi_,c));
149 return var(
new fma_vdv_vari(a.
vi_,b,c.
vi_));
171 return var(
new fma_vdd_vari(a.
vi_,b,c));
193 return var(
new fma_vdd_vari(b.
vi_,a,c));
215 return var(
new fma_ddv_vari(a,b,c.
vi_));
239 return var(
new fma_vdv_vari(b.
vi_,a,c.
vi_));