Changeset 13583


Ignore:
Timestamp:
Apr 6, 2010, 3:24:54 AM (9 years ago)
Author:
rme
Message:

Special-case (truncate most-negative-fixnum some-bignum).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-0/l0-numbers.lisp

    r13532 r13583  
    11571157       (number-case divisor
    11581158         (fixnum (if (eq divisor 1) (values number 0) (%fixnum-truncate number divisor)))
    1159          (bignum (values 0 number))
     1159         (bignum (if (eq number target::target-most-negative-fixnum)
     1160                   (with-small-bignum-buffers ((bn number))
     1161                     (bignum-truncate bn divisor))
     1162                   (values 0 number)))
    11601163         (double-float (truncate-rat-dfloat number divisor))
    11611164         (short-float (truncate-rat-sfloat number divisor))
     
    11641167                  (values q (- number (* q divisor)))))))
    11651168      (bignum (number-case divisor
    1166                 (fixnum (if (eq divisor 1) (values number 0)
     1169                (fixnum (if (eq divisor 1)
     1170                          (values number 0)
    11671171                          (if (eq divisor target::target-most-negative-fixnum);; << aargh
    11681172                            (with-small-bignum-buffers ((bd divisor))
Note: See TracChangeset for help on using the changeset viewer.