All Projects → bluescarni → Mppp

bluescarni / Mppp

Licence: mpl-2.0
Multiprecision for modern C++

Projects that are alternatives of or similar to Mppp

symengine.rb
Ruby wrappers for SymEngine
Stars: ✭ 26 (-86.73%)
Mutual labels:  math, computer-algebra
Grassmann.jl
⟨Leibniz-Grassmann-Clifford⟩ differential geometric algebra / multivector simplicial complex
Stars: ✭ 289 (+47.45%)
Mutual labels:  math, computer-algebra
Hecke.jl
Computational algebraic number theory
Stars: ✭ 142 (-27.55%)
Mutual labels:  math, computer-algebra
Oscar.jl
A comprehensive open source computer algebra system for computations in algebra, geometry, and number theory.
Stars: ✭ 182 (-7.14%)
Mutual labels:  math, computer-algebra
Reduce.jl
Symbolic parser generator for Julia language expressions using REDUCE algebra term rewriter
Stars: ✭ 172 (-12.24%)
Mutual labels:  math, computer-algebra
Mathnet Symbolics
Math.NET Symbolics
Stars: ✭ 256 (+30.61%)
Mutual labels:  math, computer-algebra
Angourimath
Open-source symbolic algebra library for C# and F#. One of the most powerful in .NET
Stars: ✭ 266 (+35.71%)
Mutual labels:  math, computer-algebra
Gap
Main development repository for GAP - Groups, Algorithms, Programming, a System for Computational Discrete Algebra
Stars: ✭ 447 (+128.06%)
Mutual labels:  math, computer-algebra
Sympy
A computer algebra system written in pure Python
Stars: ✭ 8,688 (+4332.65%)
Mutual labels:  math, computer-algebra
Symengine
SymEngine is a fast symbolic manipulation library, written in C++
Stars: ✭ 703 (+258.67%)
Mutual labels:  math, computer-algebra
Symengine.py
Python wrappers for SymEngine
Stars: ✭ 110 (-43.88%)
Mutual labels:  math, computer-algebra
Sage
Mirror of the Sage source tree -- please do not submit PRs here -- everything must be submitted via https://trac.sagemath.org/
Stars: ✭ 1,656 (+744.9%)
Mutual labels:  math, computer-algebra
Symengine.jl
Julia wrappers of SymEngine
Stars: ✭ 139 (-29.08%)
Mutual labels:  math, computer-algebra
Mathics
This repository is for archival. Please see https://github.com/Mathics3/mathics-core
Stars: ✭ 2,087 (+964.8%)
Mutual labels:  computer-algebra
Ugm
Ubpa Graphics Mathematics
Stars: ✭ 178 (-9.18%)
Mutual labels:  math
Modernroboticscpp
Modern Robotics: Mechanics, Planning, and Control C++ Library --- The primary purpose of the provided software is to be easy to read and educational, reinforcing the concepts in the book. The code is optimized neither for efficiency nor robustness. http://modernrobotics.org/
Stars: ✭ 170 (-13.27%)
Mutual labels:  math
Tomsfastmath
TomsFastMath is a fast public domain, open source, large integer arithmetic library written in portable ISO C.
Stars: ✭ 169 (-13.78%)
Mutual labels:  math
Pybotics
The Python Toolbox for Robotics
Stars: ✭ 192 (-2.04%)
Mutual labels:  math
Fasteval
Fast and safe evaluation of algebraic expressions
Stars: ✭ 177 (-9.69%)
Mutual labels:  math
Interviewbit
Collection of Abhishek Agrawal's gists solutions for problems on https://www.interviewbit.com
Stars: ✭ 166 (-15.31%)
Mutual labels:  math

mp++

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

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.

⚠️ mp++ is under active development, and, although we try not to break the API gratuitously, backwards-incompatible changes do happen from time to time. The API will be stabilised with the upcoming release of version 1.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].