...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
#include <boost/math/special_functions/hypergeometric_0F1.hpp> namespace boost { namespace math { template <class T1, class T2> calculated-result-type hypergeometric_0F1(T1 b, T2 z); template <class T1, class T2, class Policy> calculated-result-type hypergeometric_0F1(T1 b, T2 z, const Policy&); }} // namespaces
The function hypergeometric_0F1
returns the result of
The return type of these functions is computed using the result
type calculation rules when T1
and T2
are different types.
The final Policy argument is optional and can be used to control the behaviour of the function: how it handles errors, what level of precision to use etc. Refer to the policy documentation for more details.
The functions return the result of domain_error
whenever the result is undefined or complex. This occurs only when b
is an integer <= 0.
The function is implemented via its defining series wherever convergent.
For a divergent series we use the continued fraction as long as the result is not too small:
and one of the Bessel function relations otherwise: