summaryrefslogtreecommitdiff
path: root/mpfr/TODO
blob: 86b441190137d021b8d025d46453542689e6cb5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Documentation:

- update AUTHORS
- add a description of the algorithms used + proof of correctness

Installation:

- from Kevin Ryde <user42@zip.com.au>:
   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:

Rounding:

Efficiency:

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 <bhinkle4@juno.com>)

- specify exponent size (suggestion from Ben Hinkle <bhinkle4@juno.com>)

- 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 <user42@zip.com.au>:
   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 <sputot@aigle.saclay.cea.fr>, Tue, 20 Mar 2001)

- check correctness of +/-0 - +/-0 with different rounding modes.