In this case Temme's method may fail as the incomplete gamma can't cope, but as the function changes over from 0 to 1 very rapidly, we can just use the saddle point as a reasonable starting location for iteration.
See https://github.com/scipy/scipy/issues/21725.
Use asymptotic expansion for very large a,b and add test cases.
Add some corrections to improve numeric stability.
Add better error handling of cases that explode so we get evaluation_error's.
* Update gamma.hpp
Missing name for Lanczos parameter in gamma_imp_final
* Update gamma.hpp
* Change location of void and annotate
---------
Co-authored-by: Matt Borland <matt@mattborland.com>
Fixes the following warning:
```
C:\boost_1_86_0\boost/math/ccmath/isinf.hpp(29,69): warning : use of infinity is undefined behavior due to the currently enabled floating-point options [-Wnan-infinity-disabled]
C:\boost_1_86_0\boost/math/ccmath/isinf.hpp(29,25): warning : use of infinity is undefined behavior due to the currently enabled floating-point options [-Wnan-infinity-disabled]
C:\boost_1_86_0\boost/math/ccmath/ldexp.hpp(50,38): note: in instantiation of function template specialization 'boost::math::ccmath::isinf<float>' requested here
C:\boost_1_86_0\boost/math/ccmath/ldexp.hpp(69,33): note: in instantiation of function template specialization 'boost::math::ccmath::ldexp<float, true>' requested here
```
Add SYCL testing of expint
Add markers to forward decls
Add CUDA testing of expint
Fix static variable usage under NVRTC
Add NVRTC testing
Add configurable definition of complex
Add function aliases
Add GPU support to gegenbauer polynomials
Add SYCL testing of gegenbauer
Add NVCC testing of gegenbauer
Add NVRTC testing of gegenbauer
Add GPU support for hankel
Add SYCL testing of hankel
Add NVCC testing of cyl_hankel_1
Add comprehensive NVCC testing
Add NVRTC testing of cyl and sph hankel
Update docs
Fix writing cuda::std::complex<T> to stdout
Add GPU support to hermite
Add SYCL testing of hermite
Add CUDA testing of hermite
Add NVRTC testing of hermite
Add markers to hermite docs
Add SYCL testing of ariy functions
Add CUDA testing of airy functions
Add NVRTC testing of airy functions
Add GPU support to ellint rc
Add GPU support to ellint rd
Add GPU support to ellint rf
Add GPU support to ellint rg
Add GPU support to ellint rj
Add GPU support to ellint d
Add GPU support to ellint_1
Markup forward and add ellint_3 return type def for NVRTC platform
Add CUDA testing of ellint 1
NVRTC fixes
Add NVRTC testing of ellint_1
Add GPU support to ellint_2
Add CUDA testing of ellint_2
Fix NVRTC errors
Add NVRTC testing of ellint_2
Add GPU support to atanh
Add GPU support to ellint_3
Add NVRTC testing of ellint_3
Add CUDA testing of ellint_3
Replace use of static const char*
Add SYCL testing of ellint_1
Add SYCL testing of ellint 2 with slight tolerance bump
Remove recursion from ellint_rj
Add ellint_d CUDA testing
Add NVRTC testing of ellint_d
Add SYCL testing of ellint_d
Remove SYCL ellint_3 support
Update docs
Add GPU support to jacobi zeta
Add CUDA testing of jacobi zeta
Add NVRTC testing of jacobi zeta
Add SYCL testing of jacobi zeta
Add GPU support to heuman_lambda
Add NVRTC testing of heuman lambda
Add CUDA testing of heuman_lambda
Add SYCL testing of heuman lambda
Add markers to docs
Add marker for CUDA only functions in the docs
Add function for device only impl
Fix function signatures
Fix arrays
Add basic test for compilation
Allow serial implementation to be run on host under NVCC
Add verification steps
Add arrays of levels coefficient sizes
Cleanup test set
Add double test set
Add structure for the doubles support
Save space by using pointer to different size arrays rather than 2d
Separate the double precision weights into their own arrays
Remove stray call to std::abs
Add NVRTC testing
Add documentation section
Add device function signature for sinh_sinh_integrate
Add float coefficients
Add double coeffs
Add device specific impl
Add sinh_sinh CUDA testing
Add sinh_sinh NVRTC testing