1 #ifndef STAN_MATH_PRIM_SCAL_FUN_GRAD_2F1_HPP
2 #define STAN_MATH_PRIM_SCAL_FUN_GRAD_2F1_HPP
12 void grad_2F1(T& gradA, T& gradC, T a, T b, T c, T z, T precision = 1
e-6) {
22 T tDak = 1.0 / (a - 1);
24 while (
fabs(tDak * (a + (k - 1)) ) > precision || k == 0) {
25 const T r = ( (a + k) / (c + k) ) * ( (b + k) / (T)(k + 1) ) * z;
26 tDak = r * tDak * (a + (k - 1)) / (a + k);
30 gradAold = r * gradAold + tDak;
31 gradCold = r * gradCold - tDak * ((a + k) / (c + k));
fvar< T > fabs(const fvar< T > &x)
double e()
Return the base of the natural logarithm.
void grad_2F1(T &gradA, T &gradC, T a, T b, T c, T z, T precision=1e-6)