Automatic Differentiation
 
Loading...
Searching...
No Matches
hypergeometric_2F2.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_FUN_HYPERGEOMETRIC_2F2_HPP
2#define STAN_MATH_PRIM_FUN_HYPERGEOMETRIC_2F2_HPP
3
6
7namespace stan {
8namespace math {
9
22template <typename Ta, typename Tb, typename Tz,
23 require_all_eigen_t<Ta, Tb>* = nullptr,
24 require_stan_scalar_t<Tz>* = nullptr>
26 const Tz& z) {
27 if (a.size() != 2 || b.size() != 2) {
28 std::stringstream msg;
29 msg << "Inputs to hypergeometric 2F2 do not contain two values"
30 << "a: " << a << ", b: " << b;
31 throw std::domain_error(msg.str());
32 }
33 return hypergeometric_pFq(a, b, z);
34}
35} // namespace math
36} // namespace stan
37#endif
typename return_type< Ts... >::type return_type_t
Convenience type for the return type of the specified template parameters.
return_type_t< Ta, Tb, Tz > hypergeometric_2F2(const Ta &a, const Tb &b, const Tz &z)
Returns the generalized hypergeometric function applied to the input arguments: .
FvarT hypergeometric_pFq(const Ta &a, const Tb &b, const Tz &z)
Returns the generalized hypergeometric (pFq) function applied to the input arguments.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...