diff options
author | Ken Raeburn <raeburn@cygnus> | 1994-02-07 09:56:47 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@cygnus> | 1994-02-07 09:56:47 +0000 |
commit | a5ac3a14a11e6028c79cc21898bc5f96fcb7fc6e (patch) | |
tree | 369ea40a393a7df42e5b847a3e3fd2f5303828c3 /gas/atof-generic.c | |
parent | 6f6712661fab60f0a53ca5f54a204f39ebb4eeba (diff) | |
download | gdb-a5ac3a14a11e6028c79cc21898bc5f96fcb7fc6e.zip gdb-a5ac3a14a11e6028c79cc21898bc5f96fcb7fc6e.tar.gz gdb-a5ac3a14a11e6028c79cc21898bc5f96fcb7fc6e.tar.bz2 |
(atof_generic): Calculate maximum number of useful digits in integer
arithmetic, to eliminate only source of dependence on floating point support,
which currently doesn't work yet on the Alpha.
Diffstat (limited to 'gas/atof-generic.c')
-rw-r--r-- | gas/atof-generic.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gas/atof-generic.c b/gas/atof-generic.c index b55945a..6d6d195 100644 --- a/gas/atof-generic.c +++ b/gas/atof-generic.c @@ -319,10 +319,19 @@ atof_generic (address_of_string_pointer, + 1); /* Number of destination littlenums. */ /* Includes guard bits (two littlenums worth) */ +#if 0 /* The integer version below is very close, and it doesn't + require floating point support (which is currently buggy on + the Alpha). */ maximum_useful_digits = (((double) (precision - 2)) * ((double) (LITTLENUM_NUMBER_OF_BITS)) / (LOG_TO_BASE_2_OF_10)) + 2; /* 2 :: guard digits. */ +#else + maximum_useful_digits = (((precision - 2)) + * ( (LITTLENUM_NUMBER_OF_BITS)) + * 1000000 / 3321928) + + 2; /* 2 :: guard digits. */ +#endif if (number_of_digits_available > maximum_useful_digits) { |