tasayco@phoenix.Princeton.EDU (Maria Tasayco) (11/13/90)
Hi! I know people in these groups is not very numerically-oriented, but maybe somebody is interested. After having had many problems with the floating point routines which came with the GNU C compiler (I am using version 1.37.1), like, for example, the comparison between single floats being broken, the printing routines given too many digits, etc, I decided to write my own routines and try to support the IEEE standard. At the moment I have written the arithmetical (add, sub, mul, div, neg and cmp) routines for both single and double floats, with full support of denormalized numbers and infinity. They can be used as they are to replace the GCC routines (just pull out the corresponding routines from the library and install mine). I have been testing them and they seem to be OK, but I would appreciate other people's tests. Things I haven't yet done, but will in the near future: conversion routines (from single to double and back, and to int and back), a new printing routine which works, exception handling (maybe I will implement this in Minix, inside the kernel), support for different rounding modes (the hooks are there, though). I also haven't made extensive speed tests, although the single float routines I think are a little bit faster than the GCC ones (and they support denormalized and infinities, which the other do not!), and the double will probably be also, since I wrote them in assembler (yes, I am a bit crazy) instead of in C. If somebody is interested please send me mail, since I don't want to use bandwith unnecessarily. If I see that there is enough interest I will post them to the net, though. Francisco Figueirido e-mail: tasayco@phoenix.princeton.edu