• Paul Eggert's avatar
    Fix double-rounding bug in ceiling etc. · bede5984
    Paul Eggert authored
    This is doable now that we have bignums.
    * src/floatfns.c (integer_value): Remove; no longer used.
    (rescale_for_division): New function.
    (rounding_driver): Use it to divide properly (by using bignums)
    even when arguments are float, fixing a double-rounding FIXME.
    * src/lisp.h (LOG2_FLT_RADIX): Move here ...
    * src/timefns.c (frac_to_double): ... from here.
    * test/src/floatfns-tests.el (big-round):
    Add a test to catch the double-rounding bug.
    bede5984
floatfns-tests.el 5.03 KB