About Me
Background
Policy Analysis
Organisations
Cryptography
Technology
Cryptography
Computing
Mathematics
Papers

Multiple Precision Arithmetic on Windows

The GNU GMP multiple precision library available at http://gmplib.org/ is widely recognised as the library of choice for multiple precision integer arithmetic in C.    It is licensed under LGPL terms and is now the principal arithmetic library used by a number of commercial symbolic maths packages including Mathematica and Maple.   A version of GMP is also used by Sage, the open source symbolic maths package. 

Multiple Precision Integers and Rationals - MPIR

MPIR is a project forked from GMP to meet several objectives not supported by GMP itself, an important one being the provision of first class support for the use of native development tools on Windows.

MPIR (which is compatible with GMP)  supports native Windows builds using Microsoft Visual C++ and the open source YASM assembler.  It can also be built using Visual Studio Express C++.  It provides 32 and 64-bit static and dynamic libraries and has high performance assembler code support for AMD and Intel 64-bit processors.  MPIR also fully supports Windows x64 exception handling mechanisms.

MPFR on Windows

MPFR is a high quality multiple precision floating point library provided here.    It works with GMP but it is equally capable of working with MPIR. 

I now provide files for building MPFR with Microsoft Visual Studio on GITHUB repository here .  

The files I host here are out-of-date and are no longer supported.

I provide Visual Studio 2010 project build files for building MPFR-3.0.0 here and Visual Studio 2013 build files for the subversion repository version of MPFR here. Full support is provided for both 32 and 64 bit static and dynamic libraries.

NOTE: To use the Visual Studio build projects hosted here you will need to download and install vsyasm (32-bit Windows version, 64-bit Windows version), a version of YASM designed specifically for use with this Visual Studio.

MPC on Windows

MPC is a multiple precision floating point library for complex numbers built on top of MPFR and GMP or MPIR.  I provide a Visual Studio 2010 project for building MPC-0.9 here and a Visual Studio 2013 project for building MPC from its subversion repository here.

Acknowledgements

 My thanks go to:

  1. Torbjörn Granlund and other GMP contributors for making this library available.
  2. Patrick Pelissier, Vincent Lefevre and Paul Zimmermann (the MPFR team) for making their library available and for helping its Windows users.
  3. The MPIR team for their support and encouragement.
  4. The Intel compiler support team for helping with some conversion issues.

Back to Brian Gladman's Home Page