Version française

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

All blog items.


[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] Server Down

(CariBlog – MPFR – Software)

The 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).

[2019-02-02 22:20:20 UTC]
GNU MPFR 4.0.2 is Released

(CariBlog – MPFR – Software)

The GNU MPFR 4.0.2 library (dinde aux marrons, patch level 2) has been released. In addition to bug fixes, this version corrects the mpfr_get_str description in the manual in order to follow the historical behavior and GMP's mpf_get_str function.

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

(CariBlog – MPFR – Software)

[2018-12-31 17:35:32 UTC]
Patch 14 for GNU MPFR 4.0.1

(CariBlog – MPFR – Software)

Patch 14 of GNU MPFR 4.0.1 is available in the bugs section of the MPFR 4.0.1 page. It fixes a bug affecting the mpfr_fmma and mpfr_fmms functions in particular cases: in the round-to-nearest mode (MPFR_RNDN), these functions can round in the wrong direction due to a double rounding in the computation.

[2018-07-31 15:57:12 UTC]
Patches 12 and 13 for GNU MPFR 4.0.1

(CariBlog – MPFR – Software)

Patches 12 and 13 of GNU MPFR 4.0.1 are available in the bugs section of the MPFR 4.0.1 page. They fix bugs in the formatted output functions (mpfr_*printf):

  • Patch 12: Possible undefined behavior in case of error: store to null pointer, free of bad pointer, and <stdarg.h> related undefined behavior.

  • Patch 13: The flags for the P length modifier (mpfr_prec_t argument) are ignored; this includes the sign of the field width when the value is provided in argument (by using an asterisk * in the format string).

[2018-07-25 01:17:55 UTC]
Patches 10 and 11 for GNU MPFR 4.0.1

(CariBlog – MPFR – Software)

Patches 10 and 11 of GNU MPFR 4.0.1 are available in the bugs section of the MPFR 4.0.1 page.

The main issue is that the mpfr_erf and mpfr_erfc functions can yield an assertion failure due to the fact that the error bound is computed with the double type and can overflow. This is fixed by patch 11.

[2018-07-10 19:04:10 UTC]
Patches 7 to 9 for GNU MPFR 4.0.1

(CariBlog – MPFR – Software)

Patches 7 to 9 of GNU MPFR 4.0.1 are available in the bugs section of the MPFR 4.0.1 page.

The main issue can occur with the formatted output functions (mpfr_*printf) when the ' flag is used in a locale where the thousands separator is not empty. In some specific cases (that is, when the integer part is rounded upward to 10 or 100), the generated string can be incorrect and since it is shorter than expected, an incorrect buffer size may be provided to the free function of the current GMP memory allocator. By default, this size is ignored, but it may matter if the memory allocators have been changed with the mp_set_memory_functions GMP function, in which case a possible consequence could be memory corruption.

[2018-05-05 21:59:20 UTC]
Patches 1 to 6 for GNU MPFR 4.0.1

(CariBlog – MPFR – Software)

Patches 1 to 6 of GNU MPFR 4.0.1 are available in the bugs section of the MPFR 4.0.1 page. The first one fixes a major bug introduced in MPFR 4.0.0 (in a particular case of addition/subtraction), though most applications are probably not affected. The other ones fix minor bugs, with probably no consequences in practice.

For the users of the Math::MPFR Perl module, note that patch 6 makes a bug appear in version 4.03 of this module (current version at the time of writing – [Update 2018-05-08] A new version of the module is now available).

[2018-02-08 17:35:33 UTC]
GNU MPFR 4.0.1 is Released

(CariBlog – MPFR – Software)

The GNU MPFR 4.0.1 library (dinde aux marrons, patch level 1) has been released. It fixes some problems of version 4.0.0, which I did not announce here: in particular, a bug in the mpfr_div_ui function, which was present since the introduction of mpfr_div_ui at the very beginning of the development of MPFR in 1999. But as of version 4.0.0, this bug was also affecting the mpfr_div function.

These versions 4.0.* contain many changes compared to versions 3.1.* (GNU MPFR 3.1.0 had been released in October 2011).

[2017-12-11 22:45:58 UTC]
GNU MPFR 4.0.0 Release Candidate

(CariBlog – MPFR – Software)

The GNU MPFR 4.0.0 release candidate is available.

By the way, I did my first MPFR commit 17 years ago.

[2017-10-30 11:55:45 UTC]
Patch 1 for GNU MPFR 3.1.6

(CariBlog – MPFR – Software)

Patch 1 of GNU MPFR 3.1.6 is available in the bugs section of the MPFR 3.1.6 page. It fixes the conversion functions mpfr_get_ld, mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj and mpfr_get_z when called with a very reduced exponent range.