MPFR constitue une brique de base essentielle pouvant servir à la construction d'un système de calcul formel.
Historique
La première version publique de MPFR est distribuée le 4 février 2000[3]. Cette bibliothèque logicielle est à l'origine développée par Paul Zimmermann, lequel a par ailleurs contribué au développement de la bibliothèque GMP[5]. Les droits d'auteurs sont assignés à la Free Software Foundation dès juin 2000[3].
MPFR devient officiellement un projet GNU le 26 janvier 2009 pour la réalisation de la version 2.4.0[6].
Caractéristiques techniques
La bibliothèque est dédiée au calcul de flottants multiprécision en base 2 avec arrondi exact. Les calculs sont à la fois efficaces et bien définis sémantiquement. MPFR reprend les bonnes idées de la norme ANSI/IEEE-754 sur l'arithmétique flottante en précision fixe. Plus précisément, ses caractéristiques principales sont :
Support des nombres spéciaux : zéros signés, infinis et not-a-number (un seul NaN est supporté).
Chaque nombre a sa propre précision (en bits, puisque MPFR utilise la base 2). Le résultat est arrondi correctement à la précision de la variable cible, dans n'importe lequel des quatre modes d'arrondi IEEE 754-1985 ainsi que dans le mode d'arrondi away from zero (inverse de l'arrondi vers zéro).
Fonctions supportées : MPFR implémente toutes les fonctions mathématiques de C99 et d'autres fonctions mathématiques usuelles :
Toutes ces fonctions sont arrondies correctement sur l'ensemble de leur domaine de définition.
Les dénormalisés ne sont pas supportés, mais peuvent être émulés avec la fonction mpfr_subnormalize.
MPFR n'est pas capable de suivre la précision des nombres sur l'ensemble d'un programme ou expression : ce n'est pas son but. Les logiciels d'arithmétique d'intervalles, comme Arb[7] ou MPFI[8], ou des implémentations de Real RAM(en), comme iRRAM[9], dont certaines sont basées sur MPFR, sont capables de cela.
Communauté GNU
Présentation des bibliothèques MPFR et MPC à l'occasion de la rencontre des hackers GNU organisée par le laboratoire de recherche IRILL à Paris en août 2011[10],[note 1]
Notes et références
Notes
↑La question de faire de MPC un paquet GNU avait été soulevée à l'occasion de la rencontre entre développeurs MPFR et MPC de janvier 2011[11].