Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • dtc's avatar
    f3718883
    Fix multiplication bug. Multiply-bignum-and-fixnum was using the · f3718883
    dtc authored
    following to convert a fixnum to an (unsigned-byte 32) representation:
    (%fixnum-to-digit (if pos val (- val)))
    This broken when val was (- #x20000000) as #x20000000 is not a fixnum as
    expected by %fixnum-to-digit.
    Similar problem in multiply-fixnums.
    It may be best to just leave it up to the compiler to move the positive
    fixnum to an unsinged register here.
    f3718883
    History
    Fix multiplication bug. Multiply-bignum-and-fixnum was using the
    dtc authored
    following to convert a fixnum to an (unsigned-byte 32) representation:
    (%fixnum-to-digit (if pos val (- val)))
    This broken when val was (- #x20000000) as #x20000000 is not a fixnum as
    expected by %fixnum-to-digit.
    Similar problem in multiply-fixnums.
    It may be best to just leave it up to the compiler to move the positive
    fixnum to an unsinged register here.