From f7ec1c79f70efcb107dcc87b884d881303c030ec Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Fri, 21 May 1993 17:41:16 +0000 Subject: [PATCH] Fixed float-to-core to handle negative floats. --- compiler/generic/gengc-genesis.lisp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/generic/gengc-genesis.lisp b/compiler/generic/gengc-genesis.lisp index b44f92501..84d18b629 100644 --- a/compiler/generic/gengc-genesis.lisp +++ b/compiler/generic/gengc-genesis.lisp @@ -6,7 +6,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/gengc-genesis.lisp,v 1.5 1993/05/21 15:47:30 wlott Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/gengc-genesis.lisp,v 1.6 1993/05/21 17:41:16 wlott Exp $") ;;; ;;; ********************************************************************** ;;; @@ -691,13 +691,15 @@ (let ((des (allocate-simple-object *dynamic* vm:single-float-size vm:other-pointer-type vm:single-float-type))) - (write-bits des vm:single-float-value-slot (single-float-bits num)) + (write-bits des vm:single-float-value-slot + (ldb (byte vm:word-bits 0) + (single-float-bits num))) des)) (double-float (let ((des (allocate-simple-object *dynamic* vm:double-float-size vm:other-pointer-type vm:double-float-type)) - (high-bits (double-float-high-bits num)) + (high-bits (ldb (byte vm:word-bits 0) (double-float-high-bits num))) (low-bits (double-float-low-bits num))) (ecase (c:backend-byte-order c:*backend*) (:little-endian -- GitLab