Documentation: - add a description of the algorithms used + proof of correctness Installation: - from Kevin Ryde : Determine the exp2/exp3 thresholds using tune/tuneup.c. - problems when mpfr uses a different compiler (gcc) than gmp (for example cc under Solaris 2.7). New functions to implement: - mpfr_mul_mpz, mpfr_div_mpz - fused multiply-add (suggestion from Dan Zuras) Rounding: - implement exact rounding in mpfr_pow_ui and mpfr_ui_pow_ui - in all functions that do rounding, return an int indicating if the result is exact (i.e. no bit was lost) or not (like in mpfr_div_ui) Efficiency: - mpfr_div is currently O(n^2) when the divisor has two limbs Miscellaneous: - change Library GPL to Lesser GPL, and mention INRIA and/or SPACES - rename mpf2mpfr.h to gmp-mpf2mpfr.h? - detect overflow/underflow in exponent (from Ben Hinkle ) - specify exponent size (suggestion from Ben Hinkle ) - add mpfr_get_ld for 'long double' [asked by J-C Fauge`re] ? (exists since K&R, but has not necessarily a greater precision than double) cf http://anubis.dkuug.dk/jtc1/sc22/wg14/www/docs/n869/ - from Kevin Ryde : Also for pi.c, a pre-calculated compiled-in pi to a few thousand digits would be good value I think. After all, say 10000 bits using 1250 bytes would still be small compared to the code size! Store pi in round to zero mode (to recover other modes). - rewrite mpfr_get_d2 to avoid rounding problems, for example on the IA64: x=8.94446216651049664713e+94,74 y=-8.69096029476006043478e+78,113 pz=102,rnd=GMP_RNDU got 8.94446216651049812927e+94 result should be 8.94446216651049516499e+94 (diff=-2 ulp) i.e.0.101010111000010100110011011001011100111011100100010110000000000000000000000000000000000000000000000000[00000000000000000000000000]E316 - problem when reading a float followed by a character, for example 1.5*x [from Fabrice.Rouillier@loria.fr, Mon, 04 Dec 2000] - use another scheme that sqrt(-1.0) in tests/tdiv.c and tests/tsqrt.c to generate a NaN (for example under freebsd by default, invalid, zerodivide and overflow generate exceptions) - detect overflows/underflows in addition/multiplication of ordinary numbers (PUTOT Sylvie , Tue, 20 Mar 2001) - check correctness of +/-0 - +/-0 with different rounding modes.