Mon, 17 Apr 1995 18:08:38 GMT

Related articles |
---|

[7 earlier articles] |

Re: Q: division vs multiplication Terje.Mathisen@hda.hydro.com (1995-04-06) |

Re: Q: division vs multiplication meissner@cygnus.com (Mike Meissner) (1995-04-16) |

Re: Q: division vs multiplication martens@cis.ohio-state.edu (1995-04-16) |

Re: Q: division vs multiplication jmccarty@spdmail.spd.dsccc.com (1995-04-18) |

Re: Q: division vs multiplication leichter@zodiac.rutgers.edu (1995-04-11) |

Re: Q: division vs multiplication kptben@aol.com (1995-04-17) |

Re: Q: division vs multiplication pcg@aber.ac.uk (1995-04-17) |

Re: Q: division vs multiplication gsc@magna.com.au (1995-04-18) |

Re: Q: division vs multiplication jbuck@Synopsys.COM (1995-04-28) |

Re: Q: division vs multiplication davidm@flora.Rational.com (1995-04-28) |

Re: Q: division vs multiplication Roger@natron.demon.co.uk (Roger Barnett) (1995-04-28) |

Re: Q: division vs multiplication jmccarty@spdmail.spd.dsccc.com (1995-04-29) |

Newsgroups: | comp.compilers |

From: | pcg@aber.ac.uk (Piercarlo Grandi) |

Keywords: | arithmetic |

Organization: | Prifysgol Cymru, Aberystwyth |

References: | 95-04-059 95-04-079 |

Date: | Mon, 17 Apr 1995 18:08:38 GMT |

*>>> On Sun, 16 Apr 1995 19:12:11 GMT, Mike Meissner <meissner@cygnus.com> said:*

Mike> David Gay's high quality implementation of strtod/dtoa (convert double

Mike> to ascii) routines lists the following in the source:

Mike> "How to Read Floating Point Numbers Accurately", by William

Mike> D. Clinger, Proceedings of the ACM, SIGPLAN 1990, pages 92-101.

Mike> and:

Mike> "How to Print Floating-Point Numbers Accurately" by Guy L. Steele,

Mike> Jr. and Jon L. White, Proceedings of the ACM, SIGPLAN 1990, pages

Mike> 92-101.

Mike> You can get dtoa from netlib (netlib.att.com:/netlib/fp).

I remember an amazingly well written TR on the subject by somebody

(probably by Dick Winter) at the Matematische Centrum, Amstserdam, now

CWI. Perhaps if you look around on "ftp.CWI.nl" it will turn up. It was

about how doing good floating point transput in an algol 68 compiler

(the TR is twenty years old :->, time flies).

The basic observation was that the only really safe way was to carefully

convert every floating point number to long unpacked decimal (strings)

to start with, and then do all arithmetic on the unpacked decimal

strings. The TR was prompted by the practical observation that in

Fortran several clever guy gos to great lengths to have 1-2 at most bits

of inaccuracy in their results, and print them with library functions

that have 4-5 bits of inaccuracy.

This little problem seems to have been rediscovered, thanks to the

amazingly awful formatted transput functions in most C libraries.

--

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.