;; and convert to base-10 conservatively at the end.
;; Use the least positive float, because denormalized exponent
;; can be larger than normalized.
;; and convert to base-10 conservatively at the end.
;; Use the least positive float, because denormalized exponent
;; can be larger than normalized.
(number-magnitude (integer-length number))
(divisor-magnitude (1- (integer-length divisor)))
(magnitude (- number-magnitude divisor-magnitude)))
(if (minusp exponent)
(max exponent (ceiling (- (+ max-exponent magnitude))
(number-magnitude (integer-length number))
(divisor-magnitude (1- (integer-length divisor)))
(magnitude (- number-magnitude divisor-magnitude)))
(if (minusp exponent)
(max exponent (ceiling (- (+ max-exponent magnitude))
(defun make-float (stream)
;; Assume that the contents of *read-buffer* are a legal float, with nothing
(defun make-float (stream)
;; Assume that the contents of *read-buffer* are a legal float, with nothing