Changeset 5032


Ignore:
Timestamp:
Aug 26, 2006, 2:08:55 AM (18 years ago)
Author:
Gary Byers
Message:

Check fpu overflow bit (not underflow) when deciding whether or not
to signal overflow.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lib/numbers.lisp

    r4249 r5032  
    121121         (expt (setq expt (%i+ expt (* esign eexp))))
    122122         (t (return-from parse-float nil)))))
    123     ; if ppc read s as double vs error
    124123    (fide sign integer expt (subtypep type 'short-float))))
    125124
     
    243242               (error 'floating-point-underflow
    244243                      :operation 'scale
    245                       :operand (list sign integer power-of-10)))
    246              (if (get-fpu-mode :underflow)
     244                      :operands (list sign integer power-of-10)))
     245             (if (get-fpu-mode :overflow)
    247246               (error 'floating-point-overflow
    248247                      :operation 'scale
    249                       :operand (list sign integer power-of-10))))
     248                      :operands (list sign integer power-of-10))))
    250249           (return-from try-harder
    251250             (if under
     
    265264            (when (< poo -335) (ovf t))
    266265            ;; this case occurs if 600+ digits
    267             (when (> poo 335)(ovf))))
     266            (when (> poo 335) (ovf))))
    268267        (let* ((divisor (5-to-e (- power-of-10)))
    269268               ;; make sure we will have enough bits in the quotient
Note: See TracChangeset for help on using the changeset viewer.