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