Version française

CariBlog – Blog on Vincent Lefèvre's Research Pages and Computer Arithmetic

All blog items.

[XML]

[2022-11-17 22:46:02 UTC]
GNU MPFR 4.1.1 is Released

(CariBlog – MPFR – Software)

The GNU MPFR 4.1.1 library (épinards à la crème, patch level 1) has been released: bug fixes and improved manual formatting.

[2022-10-07 16:23:35 UTC]
GNU MPFR 4.1.1 Release Candidate

(CariBlog – MPFR – Software)

The GNU MPFR 4.1.1 release candidate is available. The main changes are bug fixes (in particular for macros implementing functions) and improved manual formatting, by using a recent texinfo.tex file (2022-09-14.01).

[2022-04-05 23:32:32 UTC]
New Function mpfr_rootn_si in the Development Version of GNU MPFR

(CariBlog – MPFR – Software)

I have just implemented the mpfr_rootn_si function in the development version of GNU MPFR. It provides the rootn function of the IEEE 754 standard (which appeared in the 2008 revision). It completes the mpfr_rootn_ui function, which was providing rootn for non-negative values of n only.

[2021-11-19 22:59:17 UTC]
GNU MPFR and Migration to Inria GitLab

(CariBlog – MPFR – Software)

As announced last month in its mailing-list, the GNU MPFR sources have been hosted at https://gitlab.inria.fr/mpfr (Inria GitLab) since 2021-10-15, after InriaForge closed. There are now two separate Git repositories:

Not all the work related to this migration has been completed yet.

On InriaForge, we were using Subversion as the version control system, so that the single repository, composed of the sources (trunk/branches/tags) and some special misc directory, had to be converted to two Git repositories. I had first done an attempt with git svn, but an analysis of the obtained Git repository for the sources revealed important issues, caused mainly by the following particularities of the Subversion repository.

  • Some files and directories (for the directories, these were branches) were replaced (on purpose), i.e. deleted, then re-added with a different history (possibly new), either in the same commit or later. The git svn tool was considering that these were the same files or branches, thus was generating a completely incorrect history (as a consequence, the diff implied by the generated commit was also completely incorrect, even though the resulting contents were correct).

  • Before Subversion, CVS was used as the version control system, and the CVS repository was converted to Subversion with cvs2svn on 2005-10-24. Unfortunately, cvs2svn had bugs (or was it CVS itself?), and generated an incorrect history for tags (we did not notice this issue at that time, but anyway, it is not clear that we could have done anything to avoid it), in particular with some files coming from the associated branch and others coming from the trunk.

So I decided to use Eric S. Raymond's excellent reposurgeon tool to fix everything, but also to add some metadata, such as the Subversion revisions to each commit message (since such revisions are sometimes referenced), together with the affected branch (since Git cannot retrieve this information). For this repository conversion with reposurgeon, I found various issues (some of them also due to the particularities of the MPFR's Subversion repository, and all of them fixed rather quickly) and did some merge requests. Some files and scripts I wrote for this conversion can be found in the mpfr-conversion.tar.xz archive. Note that there was only one operation between what are now two repositories: Subversion revision 12528, where a file was moved from /misc to /trunk/tools; I checked that it was correctly handled by reposurgeon (but of course, in the Git repositories, this just appears as an addition on one side and as a deletion on the other side, without any link between these two generated operations).

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

(CariBlog – MPFR – Software)

Patch 12 of GNU MPFR 4.1.0 is available in the bugs section of the MPFR 4.1.0 page. It fixes some issues with the mpfr_get_str_ndigits function.

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

(CariBlog – MPFR – Software)

Patches 10 and 11 of GNU MPFR 4.1.0 are available in the bugs section of the MPFR 4.1.0 page. The main bug, fixed by patch 10 (among potential compilation failures in unusual cases): the mpfr_set macro (which, by default, is used in place of the function) evaluates its second argument twice.

[2021-02-19 12:55:57 UTC]
Scheduled Outage Concerning mpfr.org

(CariBlog – MPFR)

Due to power outage, the server hosting mpfr.org will be switched off from Tuesday 23 February 2021, 17:00 CET (16:00 UTC) to Wednesday 24 February 2021, 18:00 CET (17:00 UTC), except unpredictable incident. Only the mpfr.org website will be affected. The MPFR mailing-list and InriaForge will still work.

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

(CariBlog – MPFR – Software)

Patches 8 and 9 of GNU MPFR 4.1.0 are available in the bugs section of the MPFR 4.1.0 page.

[2021-02-11 22:34:12 UTC]
7 Patches for GNU MPFR 4.1.0

(CariBlog – MPFR – Software)

Patches 1 to 7 of GNU MPFR 4.1.0 are available in the bugs section of the MPFR 4.1.0 page.

[2021-01-15 17:54:07 UTC]
Scheduled Outage Concerning mpfr.org

(CariBlog – MPFR)

Happy New Year to everyone!

Due to power outage, the server hosting mpfr.org will be switched off from Friday 22 January 2021, 16:00 CET (15:00 UTC) to Monday 25 January 2021, 10:00 CET (09:00 UTC), except unpredictable incident. Only the mpfr.org website will be affected. The MPFR mailing-list and InriaForge will still work.

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

(CariBlog – MPFR – Software)

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]
New Patches for GNU MPFR 4.0.2

(CariBlog – MPFR – Software)

Patches 2 to 6 of GNU MPFR 4.0.2 are available in the bugs section of the MPFR 4.0.2 page. The main ones fix underflow/overflow issues that could be visible with the following functions: 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]
mpfr.org Server Down

(CariBlog – MPFR – Software)

The mpfr.org server is currently down (amongst other virtualized servers, hosted at the same place). This is due to unexpected issues following a maintenance concerning the NAS that was done yesterday (2020-02-11 at 17:00 UTC). We still do not know when the server will be back online.

You can still obtain the GNU MPFR source code from the GNU FTP site and from InriaForge.

[Update] The server is now up.

[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]
New Paper Accurate Complex Multiplication in Floating-Point Arithmetic

(CariBlog – MPFR)

I have a new paper, written with Jean-Michel Muller: Accurate Complex Multiplication in Floating-Point Arithmetic. It has been accepted at the 26th IEEE Symposium on Computer Arithmetic (ARITH 26), which will take place on 10–12 June 2019 in Kyoto, Japan. Abstract:

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.

For testing, comparisons have been done with the naive algorithm in the binary64 (double precision) and binary128 (quadruple precision) formats, and with implementations based on GNU MPFR, on x86_64 and POWER9 machines (the latter is currently the only processor with hardware binary128 support).



webmaster@vinc17.org