Using With NTL - a High-Precision Floating-Point Library

| Home | Libraries | People | FAQ | More

### Using With NTL - a High-Precision Floating-Point Library

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

Unfortunately `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 `NTL::RR`. The 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).