Language Bindings (GNU MP 6.2.1)
Description: How to install and use the GNU multiple precision arithmetic library, version 6.2.1.

Next: Algorithms, Previous: Custom Allocation, Up: GNU MP [Index]

## 14 Language Bindings

The following packages and projects offer access to GMP from languages other than C, though perhaps with varying levels of functionality and efficiency.

C++
  - GMP C++ class interface, see C++ Class Interface
    Straightforward interface, expression templates to eliminate temporaries.
  - ALP https://www-sop.inria.fr/saga/logiciels/ALP/
    Linear algebra and polynomials using templates.
  - CLN https://www.ginac.de/CLN/
    High level classes for arithmetic.
  - Linbox http://www.linalg.org/
    Sparse vectors and matrices.
  - NTL http://www.shoup.net/ntl/
    A C++ number theory library.
Eiffel
  - Eiffelroom http://www.eiffelroom.org/node/442
Haskell
  - Glasgow Haskell Compiler https://www.haskell.org/ghc/
Java
  - Kaffe https://github.com/kaffe/kaffe
Lisp
  - GNU Common Lisp https://www.gnu.org/software/gcl/gcl.html
  - Librep http://librep.sourceforge.net/
  - XEmacs (21.5.18 beta and up) https://www.xemacs.org
    Optional big integers, rationals and floats using GMP.
ML
  - MLton compiler http://mlton.org/
Objective Caml
  - MLGMP https://opam.ocaml.org/packages/mlgmp/
  - Numerix http://pauillac.inria.fr/~quercia/
    Optionally using GMP.
Oz
  - Mozart https://mozart.github.io/
Pascal
  - GNU Pascal Compiler http://www.gnu-pascal.de/
    GMP unit.
  - Numerix http://pauillac.inria.fr/~quercia/
    For Free Pascal, optionally using GMP.
Perl
  - GMP module, see `demos/perl` in the GMP sources (see Demonstration programs).
  - Math::GMP https://www.cpan.org/
    Compatible with Math::BigInt, but not as many functions as the GMP module above.
  - Math::BigInt::GMP https://www.cpan.org/
    Plug Math::GMP into normal Math::BigInt operations.
Pike
  - pikempz module in the standard distribution, https://pike.lysator.liu.se/
Prolog
  - SWI Prolog http://www.swi-prolog.org/
    Arbitrary precision floats.
Python
  - GMPY https://code.google.com/p/gmpy/
Ruby
  - https://rubygems.org/gems/gmp
Scheme
  - GNU Guile https://www.gnu.org/software/guile/guile.html
  - RScheme https://www.rscheme.org/
  - STklos http://www.stklos.net/
Smalltalk
  - GNU Smalltalk http://smalltalk.gnu.org/
Other
  - Axiom https://savannah.nongnu.org/projects/axiom
    Computer algebra using GCL.
  - DrGenius http://drgenius.seul.org/
    Geometry system and mathematical programming language.
  - GiNaC httsp://www.ginac.de/
    C++ computer algebra using CLN.
  - GOO https://www.eecs.berkeley.edu/~jrb/goo/
    Dynamic object oriented language.
  - Maxima https://www.ma.utexas.edu/users/wfs/maxima.html
    Macsyma computer algebra using GCL.
  - Regina http://regina.sourceforge.net/
    Topological calculator.
  - Yacas http://yacas.sourceforge.net
    Yet another computer algebra system.

Next: Algorithms, Previous: Custom Allocation, Up: GNU MP [Index]