aboutsummaryrefslogblamecommitdiff
path: root/math/mppp/pkg-descr
blob: 0f5a1cc9f7dedb4fe96e90955047ace047caf185 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

















                                                                                
mp++ is a C++11 library for multiprecision arithmetic, currently supporting
arbitrary-precision integers, rationals and floats, and quadruple-precision
floats.

Based on well-known libraries such as GMP, MPFR, and others, mp++ was initially
conceived as a GMP wrapper with a special focus on performance with small
operands. In particular, a small buffer optimisation and custom implementations
of basic mathematical primitives are instrumental in achieving a performance
increase, with respect to GMP and other integer multiprecision libraries, which
can be substantial (see the benchmarks section of the documentation). The price
to pay is a small overhead when operating on large integers.

Eventually, a multiprecision rational class and two multiprecision
floating-point classes were added, and today a secondary objective of mp++ is to
provide a modern, consistent and unified C++ interface to several lower-level
multiprecision libraries.

WWW: https://github.com/bluescarni/mppp