Skip to content

andrewcorrigan/mppp

This branch is 25 commits behind bluescarni/mppp:refs/heads/master.

Folders and files

NameName
Last commit message
Last commit date
Oct 4, 2024
Jul 21, 2024
Mar 26, 2020
Nov 30, 2023
Oct 4, 2024
Oct 10, 2024
Nov 14, 2024
Nov 30, 2023
Dec 12, 2023
Jul 21, 2024
Aug 24, 2016
Nov 24, 2023
May 10, 2022
Nov 14, 2024
Mar 10, 2017
Nov 25, 2023
Dec 6, 2017
Nov 30, 2023
Sep 3, 2021
Jul 21, 2024

Repository files navigation

mp++

Build Status Build Status language language language Code Coverage Join the chat at https://gitter.im/bluescarni/mppp Anaconda-Server Badge


Multiprecision for C++
Explore the docs »

Report bug · Request feature · Discuss

mp++ is a C++11/14/17/20 library for multiprecision arithmetic, featuring:

  • arbitrary-precision integers,
  • arbitrary-precision rationals,
  • quadruple-precision floats,
  • quadruple-precision complex numbers,
  • arbitrary-precision floats,
  • arbitrary-precision complex numbers.

Design goals include:

  • excellent performance for small integer and rational operands,
  • easy embeddability in computer algebra systems and generic C++ libraries,
  • a large collection of arbitrary-precision special functions,
  • an ergonomic API based on modern C++ idioms.

Design non-goals include:

Built on top of the GNU multiprecision stack (GMP, MPFR, MPC), mp++ was initially conceived as a GMP wrapper with 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).

Over time, mp++ has accrued many additional features, including multiprecision real and complex number types, and an expanding library of special functions (built in part on top of the excellent Arb library).

mp++ is a spinoff of the Piranha library, released under the MPL2 license. If you are using mp++ as part of your research, teaching, or other activities, we would be grateful if you could star the repository and/or cite our work. The DOI of the latest version and other citation resources are available at this link.

The documentation is available here.

About

Multiprecision for modern C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.1%
  • CMake 2.0%
  • Other 0.9%