summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorryde <ryde@280ebfd0-de03-0410-8827-d642c229c3f4>2002-10-08 01:41:21 +0000
committerryde <ryde@280ebfd0-de03-0410-8827-d642c229c3f4>2002-10-08 01:41:21 +0000
commit36eedb2205545c86596c17edc610c41e15a339a1 (patch)
tree19aa8ea00c420c80df5ad5d4cfa211f3d582c657 /TODO
parentb116b8d806c3eb781c28ab686f9cd5723bba8927 (diff)
downloadmpfr-36eedb2205545c86596c17edc610c41e15a339a1.tar.gz
Remove mpfr_get_str using mpn_get_str (done).
Remove no grepping for __setfpucw, done (near enough). New thread-safety section, add const_pi and const_log2 caching. New portability section, add mingw random and _mpfr_ceil_log2 IEEE-ism. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2036 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'TODO')
-rw-r--r--TODO25
1 files changed, 21 insertions, 4 deletions
diff --git a/TODO b/TODO
index 89fc00a0c..34963e091 100644
--- a/TODO
+++ b/TODO
@@ -69,12 +69,11 @@ Miscellaneous:
- problem when reading a float followed by a character, for example 1.5*x
[from Fabrice.Rouillier@loria.fr, Mon, 04 Dec 2000]
-- rewrite mpfr_get_str and mpfr_set_str to use mpn_get_str and mpn_set_str.
+- rewrite mpfr_set_str to use mpn_set_str.
(Torbjorn Granlund <tege@swox.com>, 30 Jan 2002)
- mpfr_pow isn't completely specified (concerning signed zeros).
-- use AC_CHECK_FUNCS for __setfpucw rather than grepping a header file.
- rename (and rewrite) mpfr_isinteger to mpfr_integer_p.
(Kevin Ryde, 05 Mar 2002)
@@ -86,8 +85,6 @@ Miscellaneous:
systems, apart from limb size, so you're not at the mercy of random or
lrand48, etc.
-- make MPFR thread-safe (e.g. temporary changes of emin/emax in mpfr_set_q)
-
- randomized tests: do like GMP (see misc.c), but using MPFR_CHECK_RANDOMIZE
- add tests for nextabove/nextbelow/nexttoward.
@@ -101,3 +98,23 @@ mpfr_lessequal_p 1 1 0 0
mpfr_lessgreater_p 0 1 1 0
mpfr_equal_p 1 0 0 0
mpfr_unordered_p 0 0 0 1
+
+
+Reentrancy / Thread-Safety:
+
+- Temporary changes to emin/emax are not safe (all uses of
+ mpfr_save_emin_emax, eg. mpfr_set_q).
+
+- Global variables for caching in mpfr_const_log2 and mpfr_const_pi
+ are not safe.
+
+
+Portability:
+
+- MINGW has neither random() nor rand48(), making the setups in
+ mpfr-test.h fail. It does have rand(), returning just 15 bits.
+ Switching to gmp_randstate_t etc would be better.
+
+- _mpfr_ceil_log2 is IEEE specific. Many callers only seem to want
+ this operation on an integer, which could be done with
+ count_leading_zeros from longlong.h.