MPFR-MPC Developers Meeting 2011 (January 13-14, 2011) ====================================================== Participants: Andreas Enge, Laurent Fousse, Mickael Gastineau, Franck Labat, Vincent Lefèvre, Patrick Pélissier, Philippe Théveny, Paul Zimmermann Release plans: - [MPFR] we plan to make a patch release 3.0.1 in February, which will be based on 3.0.0 + the current patches. - [MPFR] we plan to make a new release 3.1.0 in the end of March. This release will be binany compatible with 3.0.0. It will be thread safe by default (if supported by the system, check done at configure time). - [MPFR] we plan for MPFR 4.0.0 to change the exponent type (mpfr_exp_t) into int64_t (currently it is inherited from the GMP mp_exp_t type, which is long int, i.e., differs in width on 32-bit and 64-bit processors). This will be announced on various lists to get feedback. - [MPC] we plan to make a release 0.9 in the end of January - [MPC] we plan to become a GNU package and to give the copyright to the FSF (if the employers of all MPC developers agree) - [MPC] we plan to release MPC 1.0 in May We also discussed various topics: - we discussed an ADT (Action de Développements Technologique) proposal about MPFR. If accepted, this ADT will support human resources to further develop MPFR. The main topics of this ADT are the implementation of a midrad data type to represent floating-point intervals (a center c in multiple-precision and a radius r in fixed precision, representing the interval [c-r,c+r]); and the implementation of mpfr_*scanf functions to complement the current mpfr_*printf functions. - Andreas Enge presented the Eztrace tool (developed at Inria Bordeaux) that enables one to generate traces of call to selected functions. - Franck Labat described the PARI-MP ADT on which he was hired for 12 months. The main objective of PARI-MP is to rework the multiple-precision kernel of the PARI/GP software tool. - we plan to write a scientific paper about MPC, and also to publish the algorithms.tex document, which details the algorithms used by MPC and their error analysis. Coding sprints. We had very interesting coding sprints, during which the following tasks were done or partly done: - [MPFR] the double inclusion of mpfr.h is now fully supported, i.e., you can do #include , then #include , and again #include , and the prototypes for the i/o functions will be defined (currently due to a bug in GMP this requires #define MPFR_USE_FILE before the 2nd #include ). - [MPFR] the skipped tests during "make check" now print SKIP instead of PASS (for example tget_set_d64 without --enable-decimal-float in configure) - [MPFR] enable TLS (thread safe) by default if supported - [MPFR] ported to CDash for the tests using CTest, we plan to add this to the MPFR web page, so that everybody can see the results of the nightly tests - [MPFR] we started adding a new exception "division par zero" as in IEEE-754 - [MPFR] we added a new function mpfr_urandom_gaussian to generate a random value following a Gaussian distribution. - [MPFR] we got rid of the deprecated register_printf_function() - [MPFR] we fixed a few FIXME's in the code - [MPFR] we designed a portable format for new functions mpfr_inp_raw and mpfr_out_raw - [MPFR] we studied a possible change of mpfr_neg to a macro: it appeared that the macro is not faster, thus we did no change. - [MPC] we did test the Eztrace software to add logging to MPC (we did also test some new GCC pragmas but it was not successful). - [MPC] added a new function mpc_fma to compute a*b+c - [MPC] added a configure option --enable-logging (partly done)