- GNU MPFR
-
GNU MPFR Développeur Projet GNU (INRIA, et autre) Dernière version 3.1.0 (3 octobre 2011) [+/-] Écrit en C Environnement Multiplate-forme Type Mathématiques Licence GNU LGPL Site web (en) Site officiel modifier GNU MPFR est une bibliothèque portable C de calcul arithmétique multiprécision en virgule flottante avec arrondi correct. C'est un logiciel libre basé sur GNU MP et maintenu pour le projet GNU par l'INRIA et la communauté hacker[1],[2].
MPFR constitue une brique de base essentielle pouvant servir à la construction d'un système de calcul formel.
Sommaire
Historique
La première version publique de MPFR est distribuée le 4 février 2000[1]. 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[3]. Les droits d'auteurs sont assignés à la Free Software Foundation dès juin 2000[1].
MPFR devient officiellement un projet GNU le 26 janvier 2009 pour la réalisation de la version 2.4.0[4].
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 (-0), infinis et not-a-number (un seul NaN est supporté pour l'instant).
- 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 :
- le logarithme et l'exponentielle en base naturelle, base 2 et base 10,
- log(1+x) et exp(x)-1 (
log1p
etexpm1
), - les six fonctions trigonométriques et hyperboliques ainsi que leurs inverses,
- gamma et logarithme de gamma,
- digamma (aussi appelée fonction psi),
- zeta,
- erreur,
- fonctions de Bessel,
- la moyenne arithmético-géométrique et
- l'exponentiation (xy).
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 des intervalles, comme MPFI, ou des implémentations de Real RAM, comme iRRAM, 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[5],[note 1]
Notes et références
Références
- (en) « History of MPFR and Past Events », mpfr.org, 21 juillet 2011.
- (en) « The MPFR Library: Credit », mpfr.org, 21 juillet 2011.
- (en) « Contributors - GNU MP », gmplib.org, 21 juillet 2011.
- (en) « GNU MPFR version 2.4.0 », mpfr.org, 26 janvier 2009.
- (en) « GNU Hackers Meeting in Paris, 2011 », gnu.org, juillet 2011.
- (en) « MPFR-MPC Developers Meeting 2011 », mpfr.org, 13 et 14 janvier 2011.
Notes
- [6]. 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
Article connexe
- GNU MPC
- GNU MP
Liens externes
Catégories :- Logiciel libre sous licence LGPL
- Logiciel du projet GNU
- Bibliothèque logicielle
- Logiciel de calcul numérique
Wikimedia Foundation. 2010.