Contributor
Dimitrios Los

Extending testing and optimising Boost.Multiprecision to higher precision


Mentors
Christopher Kormanyos
Organization
Boost C++

Boost is one of the most fundamental collections of C++ libraries, powering thousands of projects, but also driving the development of C++ best practices and C++ standards. Boost.Multprecision is the Boost library providing number types with precision higher than that of C++ built-in types. The library offers support for integer, floating-point and rational data types at compile-time fixed, arbitrary and variable precision.

Currently, many operations are already supported for arbitrary precision, but tests exist only for up to 1024 bits. The purpose of this project is to 1) extend testing for precision of thousands of bits and 2) add arbitrary-precision support for more complicated functions and constants. This includes adding tests for arithmetic operations of higher precision, extending tests for simple functions, extending special functions to higher precision, adding support for higher precision constants (and adaptive precision algorithms) and optimising several of the operations (see Milestones for details).