English version

CariBlog – Blog sur les pages recherche de Vincent Lefèvre et l'arithmétique des ordinateurs

Tous les billets.

[XML]

[2017-04-10 11:44:15 UTC]
Mes dernières publications

(CariBlog – MPFR)

J'ai deux nouveaux papiers qui viennent d'être acceptés, tous les deux liés à GNU MPFR.

[2017-02-17 16:19:10 UTC]
Status of the GNU MPFR Trunk

(CariBlog – MPFR – Logiciels)

For those who test the GNU MPFR trunk via Subversion on InriaForge:

  • The tzeta test should no longer fail on most platforms (IEEE 754 machines with default IEEE exception handling).

  • The tsprintf test still fails (fix in progress). The cause is a major efficiency issue in particular cases (huge precision requested).

Note: Both problems are also present in the released versions, but they have no tests that trigger them.

[2016-12-26 00:07:32 UTC]
Patch 2 pour GNU MPFR 3.1.5

(CariBlog – MPFR – Logiciels)

Le patch 2 de GNU MPFR 3.1.5 est disponible dans la section bugs de la page de MPFR 3.1.5. Il corrige le bug suivant. La fonction mpfr_strtofr peut retourner une valeur ternaire incorrecte dans le mode d'arrondi au plus près (MPFR_RNDN).

[2016-12-15 17:57:00 UTC]
Patch 1 pour GNU MPFR 3.1.5

(CariBlog – MPFR – Logiciels)

Le patch 1 de GNU MPFR 3.1.5 est disponible dans la section bugs de la page de MPFR 3.1.5. Il corrige le bug suivant. Les fonctions de sortie formatée (mpfr_*printf) provoquent un comportement indéfini ou une assertion non vérifiée quand une précision inférieure à −1 est donnée comme argument pour le spécifieur de conversion f ou F (la précision donnée aurait dû être ignorée).

[2016-09-27 17:44:06 UTC]
GNU MPFR 3.1.5 est sortie

(CariBlog – MPFR – Logiciels)

La bibliothèque GNU MPFR 3.1.5 (canard à l'orange, patch level 5) est sortie. Les changements par rapport à la version 3.1.4:

[2016-09-12 21:29:25 UTC]
Patches 5 et 6 pour GNU MPFR 3.1.4

(CariBlog – MPFR – Logiciels)

Les patches 5 et 6 de GNU MPFR 3.1.4 sont disponibles dans la section bugs de la page de MPFR 3.1.4. Le patch 5 corrige des bugs dans la fonction interne de test d'arrondi mpfr_can_round_raw, utilisée par la fonction publique mpfr_can_round (en particulier, les quelques fonctions mathématiques de MPFR qui utilisent ce test d'arrondi pourraient être arrondies non correctement). Le patch 6 corrige la fonction mpfr_get_ld, qui n'arrondissait pas correctement dans la plage des dénormalisés sur les plateformes x86.

[2016-08-05 19:58:20 UTC]
Patch 4 pour GNU MPFR 3.1.4

(CariBlog – MPFR – Logiciels)

Le patch 4 de GNU MPFR 3.1.4 est disponible dans la section bugs de la page de MPFR 3.1.4. Il corrige une incompatibilité de certains programmes de test avec la norme C++11 (utilisée par défaut avec g++ de GCC 6) et est utile seulement à ceux qui compilent MPFR avec un tel compilateur C++ (au lieu d'un compilateur C).

[2016-07-17 15:11:29 UTC]
My ARITH-23 Article and Slides: Correctly Rounded Arbitrary-Precision Floating-Point Summation

(CariBlog – MPFR)

A few days ago, I presented my paper Correctly Rounded Arbitrary-Precision Floating-Point Summation at the 23rd IEEE Symposium on Computer Arithmetic (ARITH 23), which took place from July 10 to July 13, 2016, in Santa Clara, California, USA. The goal of this work was a complete rewrite of the mpfr_sum function for the next GNU MPFR release (version 4.0.0). Here are links to my article and my slides.

Note that I did some improvements since I wrote the article. The slides are more up-to-date, covering the current mpfr_sum function (r10503) at this time. The current sum.txt file (r10523) contains more details, but it is still not up-to-date (like the article).

[2016-06-13 17:34:22 UTC]
Patch 3 pour GNU MPFR 3.1.4

(CariBlog – MPFR – Logiciels)

Le patch 3 de GNU MPFR 3.1.4 est disponible dans la section bugs de la page de MPFR 3.1.4. Il corrige un bug dans le code de la soustraction (addition de deux nombres de signes différents ou soustraction de deux nombres de même signe), qui peut donner un overflow sur un cas très particulier alors qu'il ne devrait pas (voir le lien pour les détails). Il est très improbable qu'une application soit affectée par ce bug.

J'ai découvert ce bug alors que je relisais une partie du code pour implémenter le support unbounded-float (flottants avec une plage d'exposants non bornée) afin d'éviter des overflows intermédiaires pour les fonctions du style mpfr_fmma (qui calcule a·b + c·d) ou éventuellement dans le futur, l'évaluation polynomiale avec arrondi correct.

[2016-05-26 21:50:50 UTC]
Patches 1 et 2 pour GNU MPFR 3.1.4

(CariBlog – MPFR – Logiciels)

Les patches 1 et 2 de GNU MPFR 3.1.4 sont disponibles dans la section bugs de la page de MPFR 3.1.4. Le premier concerne les utilisateurs de Cygwin 32 bits (sous Microsoft Windows). Le second corrige le positionnement des drapeaux (flags) dans les fonctions mpfr_add_ui et mpfr_sub_ui; en pratique, le seul problème est que le drapeau NaN n'est pas positionné avec une entrée NaN.

J'en profite pour signaler qu'il a été décidé lors de la réunion des développeurs de MPFR des 23-24 mai que la prochaine version de MPFR sera la 4.0.

[2016-03-06 23:57:16 UTC]
GNU MPFR 3.1.4 est sortie

(CariBlog – MPFR – Logiciels)

La bibliothèque GNU MPFR 3.1.4 (canard à l'orange, patch level 4) est sortie. Les changements par rapport à la version 3.1.3: améliorations du manuel, corrections de bugs (liste détaillée sur la page de MPFR 3.1.3 et dans le fichier ChangeLog), et support DLL (bibliothèque partagée) thread-safe avec MinGW (pour Microsoft Windows).

[2016-02-29 23:43:44 UTC]
Patches 13 à 17 pour GNU MPFR 3.1.3 et seconde version candidate de GNU MPFR 3.1.4

(CariBlog – MPFR – Logiciels)

Les patches 13 à 17 de GNU MPFR 3.1.3 sont disponibles dans la section bugs de la page de MPFR 3.1.3.

La seconde version candidate de GNU MPFR 3.1.4 est également disponible.

[2016-02-15 19:44:25 UTC]
Patches 6 à 12 pour GNU MPFR 3.1.3

(CariBlog – MPFR – Logiciels)

Les patches 6 à 12 de GNU MPFR 3.1.3 sont disponibles dans la section bugs de la page de MPFR 3.1.3. Les conséquences des bugs peuvent être des plantages ou des résultats incorrects dans des cas particuliers. Par exemple, avec GNOME Calculator, le calcul de 2^(1/123456789) provoque un plantage avec une bibliothèque MPFR non patchée.

[2015-12-25 09:36:31 UTC]
Pires cas pour l'arrondi correct de fonctions mathématiques maintenant publics

(CariBlog – Tests exhaustifs des fonctions élémentaires)

Joyeux Noël! Pour cette occasion spéciale (en fait, pas vraiment car j'avais prévu de le faire avant), j'ai finalement rendu public les principaux pires cas pour l'arrondi correct de fonctions mathématiques en double précision (binary64). J'ai aussi distribué de petits programmes de test pour les fonctions C natives et la bibliothèque GNU MPFR, qui prennent de telles données en entrée. Tout est accessible depuis ma page web Test de fonctions mathématiques de la bibliothèque standard C (voir Distribution).

[2015-12-02 00:48:10 UTC]
Petit programme pour tester certaines optimisations en virgule flottante par un compilateur C

(CariBlog – vinc17)

Sur ma page web Programmes de test de l'arithmétique flottante, j'ai ajouté un nouveau programme pour tester certaines optimisations en virgule flottante par un compilateur C. Plus précisément, il teste diverses expressions simples pouvant mener à des transformations par le compilateur dans le but d'optimiser. De telles transformations sont valides sur les nombres réels, mais peuvent ici être invalides à cause des valeurs spéciales IEEE 754 (NaN, infinis, zéros signés).

Les résultats peuvent être affectés par les options de compilation liées aux optimisations d'expressions en virgule flottante. Voir un exemple d'utilisation avec GCC (détails au sujet de la virgule flottante avec GCC). Dans les erreurs, y0 est la valeur obtenue et y1 est la valeur attendue (correcte). Note: on suppose que le qualificateur volatile a pour effet de désactiver les optimisations, sinon rien n'est testé (voir le source).



webmaster@vinc17.org