Overall Objectives
Scientific Foundations
Application Domains
New Results
Other Grants and Activities

Section: Software


Participants : Philippe Théveny, Paul Zimmermann [ contact ] .

Mpc is a floating-point library for complex numbers, which is developed on top of the Mpfr library, and distributed under the Lgpl license. It is co-written with Andreas Enge (LFANT project-team, Inria Bordeaux - Sud-Ouest). A complex floating-point number is represented by x + iy , where x and y are real floating-point numbers, represented using the Mpfr library. The Mpc library provides correct rounding on both the real part x and the imaginary part y of any result. Mpc is used in particular in the Trip celestial mechanics system developed at Imcce (Institut de Mécanique Céleste et de Calcul des Éphémérides ), and by the Magma computational number theory system.

In 2009, in the context of the MPtools project, the focus was made on extending the list of available functions, to provide all functions of the C99 standard. A new version, Mpc 0.6 (Bellis perennis) was released in April, Mpc 0.7 (Campanula uniflora) was released in September, and Mpc 0.8 (Dianthus deltoides) was released in November. Since May 2009, Mpc is used optionally by GCC 4.4 to compute constant complex expressions at compile-time (constant folding), and since December 6, 2009, Mpc is required for the development version of GCC (thus for the next release GCC 4.5).


Logo Inria