Subject: Re: CMUCL18d on Alpha? From: Erik Naggum <erik@naggum.net> Date: Wed, 24 Apr 2002 02:23:19 GMT Newsgroups: comp.lang.lisp Message-ID: <3228603798508513@naggum.net> * "Joe Marshall" | (setq bar (double-float (* 4505798650626048 (expt 2 -105)))) | 1.1107651257113993d-16 The canonical way to get back to an floating point number from the integer-decode-float values is a lot simpler and less computationally intensive: (scale-float (float <mantissa> 1d0) <exponent>). In all likelihood, it is implemented with a simple hardware-supported conversion from large integer mantissa to large floating point value and adjusting the exponent rather than building a rational number out of two bignums on my way to the double-float. Interesting analysis. I doubt that the above has any influence, so I have not worked out whether it had. /// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief. Post with compassion: http://home.chello.no/~xyzzy/kitten.jpg