From fafc90b4048e5150ee23a7c18e42900391cb8658 Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Fri, 25 May 2007 18:21:20 +0000 Subject: [PATCH] We were not correctly reconstructing double-double-float signed zeroes from fasl files. Use %make-double-double-float instead of make-double-double-float because the latter does a renormalization, which trashes the sign. The former constructs the double-double exactly as given, which is really what we want since the fasl has the correct components. --- code/load.lisp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/load.lisp b/code/load.lisp index badc00ead..a7b21346f 100644 --- a/code/load.lisp +++ b/code/load.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/load.lisp,v 1.91 2006/06/30 18:41:22 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/load.lisp,v 1.92 2007/05/25 18:21:20 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -882,7 +882,7 @@ (hi-hi (fast-read-s-integer 4)) (lo-lo (fast-read-u-integer 4)) (lo-hi (fast-read-s-integer 4))) - (kernel::make-double-double-float + (kernel::%make-double-double-float (make-double-float hi-hi hi-lo) (make-double-float lo-hi lo-lo))) (done-with-fast-read-byte)))) @@ -902,14 +902,14 @@ (real-hi-hi (fast-read-s-integer 4)) (real-lo-lo (fast-read-u-integer 4)) (real-lo-hi (fast-read-s-integer 4)) - (re (kernel::make-double-double-float + (re (kernel::%make-double-double-float (make-double-float real-hi-hi real-hi-lo) (make-double-float real-lo-hi real-lo-lo))) (imag-hi-lo (fast-read-u-integer 4)) (imag-hi-hi (fast-read-s-integer 4)) (imag-lo-lo (fast-read-u-integer 4)) (imag-lo-hi (fast-read-s-integer 4)) - (im (kernel::make-double-double-float + (im (kernel::%make-double-double-float (make-double-float imag-hi-hi imag-hi-lo) (make-double-float imag-lo-hi imag-lo-lo)))) (complex re im)) -- GitLab