The special functions and tools in this library can be used with NTL::RR (an arbitrary precision number type), via the bindings in boost/math/bindings/rr.hpp. See also NTL: A Library for doing Number Theory by Victor Shoup
NTL::RR doesn't quite satisfy our conceptual
requirements, so there is a very thin wrapper class
boost::math::ntl::RR defined in boost/math/bindings/rr.hpp
that you should use in place of
class is intended to be a drop-in replacement for the "real" NTL::RR
that adds some syntactic sugar to keep this library happy, plus some of the
standard library functions not implemented in NTL.
Finally there is a high precision Lanczos
approximation suitable for use with
boost::math::ntl::RR, used at 1000-bit precision in libs/math/tools/ntl_rr_lanczos.hpp.
The approximation has a theoretical precision of > 90 decimal digits,
and an experimental precision of > 100 decimal digits. To use that approximation,
just include that header before any of the special function headers (if you
don't use it, you'll get a slower, but fully generic implementation for all
of the gamma-like functions).