A C++ library providing integer, rational, floating-point, complex, and interval number types with extended range and precision beyond built-in types.
Boost.Multiprecision is a C++ library that provides extended-precision number types, including integers, rationals, floating-point, complex, and interval numbers. It solves the problem of limited range and precision in C++'s built-in types, enabling high-accuracy calculations for scientific, cryptographic, and financial applications.
C++ developers working on applications requiring high-precision arithmetic, such as scientific computing, cryptography, financial modeling, and numerical analysis.
Developers choose Boost.Multiprecision for its flexibility, performance with expression templates, interoperability with Boost.Math and external libraries like GMP, and support for both arbitrary and fixed precision in a header-only, Boost-licensed backend.
Boost.Multiprecision
Interfaces with GMP, MPFR, MPIR, and TomMath, plus header-only Boost-licensed backends, offering flexibility in performance, licensing, and deployment options.
Configurable expression templates reduce temporary object creation, improving performance in mathematical operations, as enabled by default for most types in the README.
Works with built-in C++ types and Boost.Math for advanced functions, allowing easy integration into existing codebases for complex calculations.
Can be used with minimal dependencies via BOOST_MP_STANDALONE, reducing setup complexity by relying only on Boost.Config, included in the release package.
Standalone mode disables some features, as admitted in the README, requiring full Boost dependencies for complete functionality, which limits its utility in minimal setups.
For optimal performance with backends like GMP, requires installation and linking of third-party C libraries, complicating deployment and cross-platform support.
Choosing between backends, expression templates, and precision settings demands expertise, increasing the learning curve compared to simpler, single-purpose libraries.
A toolkit for making real world machine learning and data analysis applications in C++
OpenGL Mathematics (GLM)
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
The QuantLib C++ library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.