Automatic Differentiation
 
Loading...
Searching...
No Matches
hypergeometric_1F0.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_FUN_HYPERGEOMETRIC_1F0_HPP
2#define STAN_MATH_PRIM_FUN_HYPERGEOMETRIC_1F0_HPP
3
7#include <boost/math/special_functions/hypergeometric_1F0.hpp>
8#include <cmath>
9
10namespace stan {
11namespace math {
12
30template <typename Ta, typename Tz, require_all_arithmetic_t<Ta, Tz>* = nullptr>
31return_type_t<Ta, Tz> hypergeometric_1f0(const Ta& a, const Tz& z) {
32 constexpr const char* function = "hypergeometric_1f0";
33 check_less("hypergeometric_1f0", "abs(z)", std::fabs(z), 1.0);
34
35 return boost::math::hypergeometric_1F0(a, z, boost_policy_t<>());
36}
37
38} // namespace math
39} // namespace stan
40#endif
typename return_type< Ts... >::type return_type_t
Convenience type for the return type of the specified template parameters.
FvarT hypergeometric_1f0(const Ta &a, const Tz &z)
Returns the Hypergeometric 1F0 function applied to the input arguments: .
boost::math::policies::policy< boost::math::policies::overflow_error< boost::math::policies::errno_on_error >, boost::math::policies::pole_error< boost::math::policies::errno_on_error >, boost::math::policies::promote_double< false >, boost::math::policies::digits2< B > > boost_policy_t
Boost policy that overrides the defaults to match the built-in C++ standard library functions.
void check_less(const char *function, const char *name, const T_y &y, const T_high &high, Idxs... idxs)
Throw an exception if y is not strictly less than high.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...