List of arbitrary-precision arithmetic software

From Wikipedia, the free encyclopedia

This article lists libraries, applications, and other software which enable or support arbitrary-precision arithmetic.

Package-library name Number type Language License
Boost Multiprecision Library Integers, rationals, floats, and complex C++ and backends using GMP/MPFR Boost
TTMath Integers, floats C++ BSD
LibBF Integers, floats C MIT
BeeNum Integers, rationals C++ MIT
longer-int Integers C GPL
GNU Multi-Precision Library (and MPFR) Integers, rationals, and floats C and C++ with bindings LGPL
CLN Integers, rationals, floats, and complex C++ GPL
ARPREC Integers, floats, and complex C++ BSD-type
MAPM, MAPM Integers, decimal and complex floats C (bindings for C++) Freeware
MPIR (mathematics software) Integers, rationals, and floats C and C++ with bindings LGPL
CORE Integers, rationals, and floats C++ Freeware
LEDA Integers, rationals, and floats C++ Proprietary[1]
CGAL Integers, rationals, and floats C++ LGPL
GeometricTools Integers and rationals C++ Boost
LibTomMath Integers C Public Domain or WTFPL (dual-licensed)
libgcrypt Integers C LGPL
OpenSSL Integers C Apache License 2.0[2]
Arbitraire Floats C MIT License
mbed TLS Integers C Apache License 2.0 and GPL
JScience Integers, rationals, and floats Java BSD-type
JAS Integers, rationals, and complex numbers Java LGPL
Big-Math Integers, rationals, and complex numbers Java MIT
JLinAlg Decimals, rationals, and complex numbers Java LGPL
Apfloat Integers, rationals, floats, and complex numbers Java, C++ MIT License
MPArith Integers, rationals, floats, and complex numbers Pascal, Delphi Zlib
InfInt Integers C++ MPL
bigz Integers, rationals C (bindings for C++) BSD-type
C++ BigInt Class Integers C++ GPL
num Integers, rationals, and complex Rust Apache License 2.0
num7 Decimals C++ MIT
float Floats Rust Apache License 2.0
astro-float Floats Rust MIT
fgmp Integers C Public Domain
imath Integers, rationals ANSI C MIT
hebimath Integers, rationals, naturals, floats C (C99) MIT
bsdnt Integers, naturals C BSD (2-clause)
integer-simple Integers Haskell BSD (3-clause)
bigints Integers Nim MIT
libzahl (WIP) Integers C ISC
decimal Decimals Go BSD (3-clause)
mpmath Floats and complex Python BSD
Computable Reals Computable Reals Common Lisp BSD (3-clause)
libmpdec and libmpdec++ Decimal floats C and C++ BSD (2-clause)
GEM Library Floats and complex numbers MATLAB and GNU Octave MPL
Bignums library Integers, rationals, floats, and complex Snap! Unknown
Hyper Integers, reals, floats For .NET Framework, written in VB.NET and ML64 assembler Non-commercial use

Stand-alone application software

Software that supports arbitrary precision computations:

  • bc the POSIX arbitrary-precision arithmetic language that comes standard on most Unix-like systems.
    • dc: "Desktop Calculator" arbitrary-precision RPN calculator that comes standard on most Unix-like systems.
  • KCalc, Linux based scientific calculator
  • Maxima: a computer algebra system which bignum integers are directly inherited from its implementation language Common Lisp. In addition, it supports arbitrary-precision floating-point numbers, bigfloats.
  • Maple, Mathematica, and several other computer algebra software include arbitrary-precision arithmetic. Mathematica employs GMP for approximate number computation.
  • PARI/GP, an open source computer algebra system that supports arbitrary precision.
  • Qalculate!, an open-source free software arbitrary precision calculator with autocomplete.
  • SageMath, an open-source computer algebra system
  • SymPy, a CAS
  • Symbolic Math toolbox (MATLAB)
  • Windows Calculator, since Windows 98, uses arbitrary precision for basic operations (addition, subtraction, multiplication, division) and 32 digits of precision for advanced operations (square root, transcendental functions).
  • SmartXML, a free programming language with integrated development environment (IDE) for mathematical calculations. Variables of BigNumber type can be used, or regular numbers can be converted to big numbers using conversion operator # (e.g., #2.3^2000.1). SmartXML big numbers can have up to 100,000,000 decimal digits and up to 100,000,000 whole digits.

Languages

Online calculators

References

Related Articles

Wikiwand AI