1#ifndef STAN_MATH_FWD_FUN_HYPERGEOMETRIC_1F0_HPP
2#define STAN_MATH_FWD_FUN_HYPERGEOMETRIC_1F0_HPP
31template <
typename Ta,
typename Tz,
typename FvarT = return_type_t<Ta, Tz>,
32 require_all_stan_scalar_t<Ta, Tz>* =
nullptr,
33 require_any_fvar_t<Ta, Tz>* =
nullptr>
38 if constexpr (is_autodiff_v<Ta>) {
39 rtn.d_ += a.d() * -rtn.val() *
log1m(z_val);
41 if constexpr (is_autodiff_v<Tz>) {
42 rtn.d_ += z.d() * rtn.val() * a_val *
inv(1 - z_val);
typename partials_type< T >::type partials_type_t
Helper alias for accessing the partial type.
T value_of(const fvar< T > &v)
Return the value of the specified variable.
fvar< T > log1m(const fvar< T > &x)
fvar< T > inv(const fvar< T > &x)
FvarT hypergeometric_1F0(const Ta &a, const Tz &z)
Returns the Hypergeometric 1F0 function applied to the input arguments: .
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...