English version

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

Tous les billets.

[XML]

[2022-04-05 23:32:32 UTC]
Nouvelle fonction mpfr_rootn_si dans la version de développement de GNU MPFR

(CariBlog – MPFR – Logiciels)

Je viens d'implémenter la fonction mpfr_rootn_si dans la version de développement de GNU MPFR. Elle fournit la fonction rootn de la norme IEEE 754 (qui est apparue dans la révision de 2008). Elle complète la fonction mpfr_rootn_ui, qui fournissait rootn seulement pour les valeurs positives de n.

[2021-11-19 22:59:17 UTC]
GNU MPFR et migration vers Inria GitLab

(CariBlog – MPFR – Logiciels)

Comme annoncé le mois dernier dans sa liste de diffusion, les sources de GNU MPFR sont hébergées à https://gitlab.inria.fr/mpfr (Inria GitLab) depuis le 2021-10-15, suite à la fermeture d'InriaForge. Il y a maintenant deux dépôts Git séparés:

Tout le travail lié à cette migration n'a pas encore été terminé.

Sur InriaForge, nous utilisions Subversion comme système de gestion de versions, si bien que le dépôt unique, composé des sources (trunk/branches/tags) et d'un répertoire spécial misc a dû être converti en deux dépôts Git. J'avais d'abord fait un essai avec git svn, mais une analyse du dépôt Git obtenu pour les sources a révélé des problèmes importants, causés principalement par les particularités suivantes du dépôt Subversion.

  • Certains fichiers et répertoires (pour les répertoires, c'étaient des branches) étaient (volontairement) remplacés, i.e. supprimés, puis rajoutés avec un historique différent (éventuellement nouveau), dans le même commit ou dans un commit ultérieur. L'outil git svn considérait que c'étaient les mêmes fichiers ou branches, et générait donc un historique complètement incorrect (par conséquent, le diff dérivé du commit généré était aussi complètement incorrect, même si le contenu obtenu était correct).

  • Avant Subversion, CVS était utilisé comme système de gestion de versions, et le dépôt CVS a été converti à Subversion avec cvs2svn le 2005-10-24. Malheureusement, cvs2svn avait des bugs (ou était-ce CVS lui-même?), et a généré un historique incorrect pour les tags (nous ne nous étions pas aperçu de ce problème à ce moment, mais il n'est de toute façon pas clair que nous aurions pu faire quelque chose pour l'éviter), en particulier avec certains fichiers provenant de la branche associée et d'autres provenant du tronc.

J'ai donc décidé d'utiliser l'excellent outil reposurgeon d'Eric S. Raymond pour tout corriger, mais aussi ajouter des méta-données, comme les révisions Subversion à chaque message de commit (puisque de telles révisions sont parfois référencées), ainsi que la branche affectée (car Git ne permet pas de récupérer cette information). Pour cette conversion de dépôt avec reposurgeon, j'ai trouvé divers problèmes (certains également dûs aux particularités du dépôt Subversion de MPFR, et tous corrigés assez rapidement) et fait quelques merge requests. Certains fichiers et scripts se trouvent dans l'archive mpfr-conversion.tar.xz. Noter qu'il n'y avait qu'une seule opération entre ce qui est maintenant deux dépôts: la révision 12528 de Subversion, où un fichier était déplacé de /misc vers /trunk/tools; j'ai vérifié qu'elle a correctement été traitée par reposurgeon (mais évidemment, dans les dépôts Git, cela apparaît juste comme une addition d'un côté et comme une suppression de l'autre, sans lien entre ces deux opérations ainsi générées).

[2021-04-23 17:06:28 UTC]
Patch 12 pour GNU MPFR 4.1.0

(CariBlog – MPFR – Logiciels)

Le patch 12 de GNU MPFR 4.1.0 est disponible dans la section bugs de la page de MPFR 4.1.0. Il corrige quelques problèmes avec la fonction mpfr_get_str_ndigits.

[2021-03-09 18:59:08 UTC]
Patches 10 et 11 pour GNU MPFR 4.1.0

(CariBlog – MPFR – Logiciels)

Les patches 10 et 11 de GNU MPFR 4.1.0 sont disponibles dans la section bugs de la page de MPFR 4.1.0. Le bug principal, corrigé par le patch 10 (parmi de possibles échecs de compilation dans des cas inhabituels): la macro mpfr_set (qui, par défaut, est utilisée à la place de la fonction) évalue son deuxième argument deux fois.

[2021-02-19 12:55:57 UTC]
Arrêt planifié du serveur hébergeant mpfr.org

(CariBlog – MPFR)

À cause d'une coupure de l'alimentation électrique, le serveur hébergeant mpfr.org sera éteint du mardi 23 février 2021 à 17:00 CET (16:00 UTC) au mercredi 24 février 2021 à 18:00 CET (17:00 UTC), sauf imprévu. Seul le site web mpfr.org sera affecté. La liste de diffusion de MPFR et InriaForge continueront de fonctionner.

[2021-02-17 21:28:21 UTC]
Patches 8 et 9 pour GNU MPFR 4.1.0

(CariBlog – MPFR – Logiciels)

Les patches 8 et 9 de GNU MPFR 4.1.0 sont disponibles dans la section bugs de la page de MPFR 4.1.0.

[2021-02-11 22:34:12 UTC]
7 patches pour GNU MPFR 4.1.0

(CariBlog – MPFR – Logiciels)

Les patches 1 à 7 de GNU MPFR 4.1.0 sont disponibles dans la section bugs de la page de MPFR 4.1.0.

[2021-01-15 17:54:07 UTC]
Arrêt planifié du serveur hébergeant mpfr.org

(CariBlog – MPFR)

Bonne année à tous!

À cause d'une coupure de l'alimentation électrique, le serveur hébergeant mpfr.org sera éteint du vendredi 22 janvier 2021 à 16:00 CET (15:00 UTC) au lundi 25 janvier 2021 à 10:00 CET (09:00 UTC), sauf imprévu. Seul le site web mpfr.org sera affecté. La liste de diffusion de MPFR et InriaForge continueront de fonctionner.

[2020-06-13 15:26:21 UTC]
GNU MPFR 4.1.0 Release Candidate

(CariBlog – MPFR – Logiciels)

The GNU MPFR 4.1.0 release candidate is available.

Note that the default CFLAGS value for GCC uses an option that has been introduced in GCC 4.1 (released in 2006). So, if you want to build MPFR with a GCC version less than 4.1, you need to provide an explicit CFLAGS. This issue will be fixed in the final release.

[2020-03-31 20:56:38 UTC]
Nouveaux patches pour GNU MPFR 4.0.2

(CariBlog – MPFR – Logiciels)

Les patches 2 à 6 de GNU MPFR 4.0.2 sont disponibles dans la section bugs de la page de MPFR 4.0.2. Les principaux corrigent des problèmes d'underflow/overflow pouvant être visibles avec les fonctions suivantes: mpfr_set_ui_2exp, mpfr_set_si_2exp, mpfr_set_uj_2exp, mpfr_set_sj_2exp, mpfr_fmma, mpfr_fmms, mpfr_fma, mpfr_fms.

[2020-02-12 16:39:01 UTC]
Serveur mpfr.org hors-service

(CariBlog – MPFR – Logiciels)

Le serveur mpfr.org est actuellement hors-service (tout comme d'autres serveurs virtualisés, hébergés au même endroit). Ceci est dû à des problèmes imprévus suite à une maintenance concernant le NAS faite hier (2020-02-11 à 17:00 UTC). Nous ne savons toujours pas quand le serveur sera de nouveau en ligne.

Vous pouvez toujours obtenir le code source de GNU MPFR via le site FTP GNU et via InriaForge.

[Mise à jour] Le serveur est de nouveau en ligne.

[2019-11-04 00:30:17 UTC]
Nouvelle page web sur le jeu Neopolis

(vinc17 – Lyon – CariBlog)

J'ai écrit une nouvelle page web sur Neopolis, jeu créé par Ben Kaltenbaek, Roland Lamidieu et Lucas Odion, et lancé à Lyon en mars 2019 sous le nom Metropolis, avant d'être renommé en Neopolis en juillet.

J'y donne des informations en tant que joueur aux 5 parties qui ont eu lieu à Lyon, dont celle en cours depuis le début du mois.

J'y ai aussi ajouté une section sur un bug d'affichage, pour lequel j'ai trouvé une explication probable, liée à une mauvaise méthode de calcul en virgule flottante (les valeurs particulières affectées par ce bug correspondent à mon explication).

[2019-04-04 15:58:16 UTC]
Nouveau papier Accurate Complex Multiplication in Floating-Point Arithmetic

(CariBlog – MPFR)

J'ai un nouveau papier, écrit avec Jean-Michel Muller: Accurate Complex Multiplication in Floating-Point Arithmetic. Il a été accepté au 26e IEEE Symposium on Computer Arithmetic (ARITH 26), qui se tiendra du 10 au 12 juin 2019 à Kyoto au Japon. Résumé (en anglais):

We deal with accurate complex multiplication in binary floating-point arithmetic, with an emphasis on the case where one of the operands in a double-word number. We provide an algorithm that returns a complex product with normwise relative error bound close to the best possible one, i.e., the rounding unit u.

Pour les tests, des comparaisons ont été faites avec l'algorithme naïf dans les formats binary64 (double précision) et binary128 (quadruple précision), et avec des implémentations basées sur GNU MPFR, sur des machines avec processeurs x86_64 et POWER9 (ce dernier est actuellement le seul processeur avec un support binary128 en matériel).

[2019-02-02 22:20:20 UTC]
GNU MPFR 4.0.2 est sortie

(CariBlog – MPFR – Logiciels)

La bibliothèque GNU MPFR 4.0.2 (dinde aux marrons, patch level 2) est sortie. En plus de la correction de bugs, cette version corrige la description de mpfr_get_str dans le manuel pour suivre le comportement historique et celui de la fonction mpf_get_str de GMP.

[2019-01-09 17:52:18 UTC]
GNU MPFR 4.0.2 Release Candidate

(CariBlog – MPFR – Logiciels)


webmaster@vinc17.org