• Paul Eggert's avatar
    Fix bugs when rounding to bignums · ee641b87
    Paul Eggert authored
    Also, since Emacs historically reported a range error when
    rounding operations overflowed, do that consistently for all
    bignum overflows.
    * doc/lispref/errors.texi (Standard Errors):
    * doc/lispref/numbers.texi (Integer Basics): Document range errors.
    * src/alloc.c (range_error): Rename from integer_overflow.
    All uses changed.
    * src/floatfns.c (rounding_driver): When the result of a floating
    point rounding operation does not fit into a fixnum, put it
    into a bignum instead of always signaling an range error.
    * test/src/floatfns-tests.el (divide-extreme-sign):
    These tests now return the mathematically-correct answer
    instead of signaling an error.
    (bignum-round): Check that integers round to themselves.
    ee641b87
alloc.c 201 KB