The MPFR 2.3.2 library has been released. The changes from the 2.3.1 version:
Bug fixes; see the MPFR 2.3.1 page.
Improved MPFR manual.
Behavior of mpfr_check_range changed: if the value is an inexact infinity, the overflow flag is set (in case it was lost).
Function mpfr_init_gmp_rand (only defined when building MPFR without the --with-gmp-build configure option) is no longer defined at all. This function was private and not documented, and was used only in the MPFR test suite. User code that calls it is regarded as broken and may fail as a consequence. Running the old test suite against MPFR 2.3.2 may also fail.
The IEEE Standards Revision Committee (RevCom) approved P754 (revision of the IEEE-754 standard) unanimously, which was then approved by the IEEE-SA Standards Board on 12 June 2008.
Arith'19 (19th IEEE Symposium on Computer Arithmetic) call for papers. Deadline: 2008-10-15. Conference: 8-10 June 2009, Portland, Oregon, USA.
Patch 1 of MPFR 2.3.1 is available in the bugs section of the MPFR 2.3.1 page. It fixes a bug in the thread-safe configure test (enabled when the --enable-thread-safe option is given): this test always fails when the build directory is different from the source directory. Note that if you could already build MPFR 2.3.1, then you don't need this patch.
The MPFR 2.3.1 library has been released. The changes from the 2.3.0 version:
Changes in the behavior of mpfr_strtofr and in its documentation concerning particular cases where the code and the documentation did not match.
Bug fixes; see the MPFR 2.3.0 page.
Configure test for TLS support.
Improved MPFR manual.
MPFR 2.3.1 Release Candidate 2 is available.
MPFR 2.3.1 Release Candidate is available.
GNU C library (glibc): printf doesn't take the rounding mode into account opened on 2007-09-19.
Perl: floating-point binary-decimal conversion bugs opened on 2007-11-19.
Debian / GNU C library (glibc): libc6: strtod("-0", 0) returns +0.0 instead of -0.0 fixed in Debian on 2007-11-23.
Debian / zsh: zsh: printf %g -0 outputs 0 instead of -0 fixed in Debian on 2007-11-25.
FreeBSD: output of long double subnormals (with printf) is wrong by a factor 2 fixed in HEAD on 2007-12-09.
A short note about the next events related to computer arithmetic.
Dagstuhl Seminar 08021: Numerical Validation in Current Hardware Architectures, January 6-11, 2008.
8th Conference on Real Numbers and Computers (RNC8), July 7-9, 2008, Santiago de Compostela, Spain. Submission deadline: February 8, 2008 February 22, 2008 (extended deadline).
First challenge in the forecast of solar power, friendly competition part of RNC8.
2es Rencontres Arithmétique de l'Informatique Mathématique (RAIM) du GDR Informatique Mathématique, 3-5 juin 2008, Lille.
Patches 1 to 4 are available in the bugs section of the MPFR 2.3.0 page.
The first patch is necessary when the build directory is different from the source directory. The second patch fixes an assertion failure in mpfr_acosh on arguments that are slightly larger than 1 (this bug can occur only if the precision of the destination is strictly smaller than the precision of the input argument), but I'm not sure about the error analysis; a better patch will published later. The third patch fixes an important bug in mpfr_atan2, which occurs when the underflow flag is set before the function call. The fourth patch fixes various bugs in mpfr_subnormalize.
A bug in Microsoft Excel 2007 has recently been found, which has the effect of giving 100,000 instead of 65,535 and 100,001 instead of 65,536 after some calculations. In fact, it is only a display bug, because of an incorrect conversion from base 2 to base 10 (the value stored internally is correct). Details about this bug on the blog for Microsoft Excel.
Let us recall that in the past, Microsoft Excel already had a similar bug, but when a number was entered (incorrect conversion from base 10 to base 2) instead of displayed: entering 1.40737488355328 in Excel 3.0 to 7.0 was giving 0.64 (see also Microsoft support and via Google).
Powers of two are involved in both cases: 65536 = 216 and 1.40737488355328 = 247 / 1014.
After the discovery of this new bug, some people lost no time to recommend the switch to OpenOffice. But OpenOffice also has its problems, such as trying to correct the rounding errors, which can give surprising results and hide user-side bugs (see a discussion on the users-fr list, in French). Now, I don't know if Excel does the same kind of things. There are reasons to switch to OpenOffice, but they are very different.
The MPFR 2.3.0 library has been released. The main changes from the 2.2.* versions:
The mpfr.info file is now installed in the share subdirectory (as required by the Filesystem Hierarchy Standard); see output of ./configure --help.
The shared library is now enabled by default. If the MPFR build fails on your platform, try the --disable-shared configure option to disable the shared library.
Thread-safe support with Microsoft Visual compiler.
New functions mpfr_j0, mpfr_j1, mpfr_jn, mpfr_y0, mpfr_y1, mpfr_yn, mpfr_lgamma, mpfr_remainder, mpfr_remquo, mpfr_fms, mpfr_signbit, mpfr_setsign, mpfr_copysign, mpfr_get_patches.
Functions mpfr_sin, mpfr_cos and mpfr_sin_cos improved (argument reduction).
More detailed MPFR manual.
Improved tests (make check).
Bug fixes.
MPFR 2.3.0 Release Candidate 2 is available.
A CEA-EDF-INRIA school on the certified numerical computation theme will be held at the Loria (Nancy) on October 25-26, 2007.
The goal of this school is to make evidence of the problems arising with numerical computations using floating-point arithmetic (round-off error, limited precision, underflow or overflow, etc.) and to propose some new tools on this topic, in particular an initial formation to the MPFR library for floating-point computation in arbitrary precision.
Audience: engineers or researchers, either from public institutions or private companies. Warning! The number of attendees is limited.
My most recent papers:
Worst cases of a periodic function for large arguments, written with Guillaume Hanrot, Damien Stehlé and Paul Zimmermann. To appear in the Arith-18 proceedings in June 2007.
Abstract: One considers the problem of finding hard to round cases of a periodic function for large floating-point inputs, more precisely when the function cannot be efficiently approximated by a polynomial. This is one of the last few issues that prevents from guaranteeing an efficient computation of correctly rounded transcendentals for the whole IEEE-754 double precision format. The first non-naive algorithm for that problem is presented, with an heuristic complexity of O(20.676 p) for a precision of p bits. The efficiency of the algorithm is shown on the largest IEEE-754 double precision binade for the sine function, and some corresponding bad cases are given. We can hope that all the worst cases of the trigonometric functions in their whole domain will be found within a few years, a task that was considered out of reach until now.
Some notes on the possible under/overflow of the most common elementary functions, written with Jean-Michel Muller. May 2007.
Abstract: The purpose of this short note is not to describe when underflow or overflow must be signalled (it is quite clear that the rules are the same as for the basic arithmetic operations). We just want to show that for some of the most common functions and floating-point formats, in many cases, we can know in advance that the results will always lie in the range of the numbers that are representable by normal floating-point numbers, so that in these cases there is no need to worry about underflow or overflow. Note that when it is not the case, an implementation is still possible using a run-time test.
Computing integer powers in floating-point arithmetic, written with Peter Kornerup and Jean-Michel Muller. May 2007.
Abstract: We introduce two algorithms for accurately evaluating powers to a positive integer in floating-point arithmetic, assuming a fused multiply-add (fma) instruction is available. We show that our log-time algorithm always produce faithfully-rounded results, discuss the possibility of getting correctly rounded results, and show that results correctly rounded in double precision can be obtained if extended-precision is available with the possibility to round into double precision (with a single rounding).
ARITH18 - 18th IEEE Symposium on Computer Arithmetic, June 25-27, 2007, Montpellier, France. Early registration deadline: May 25, 2007.
Of course, I'll be there!