simon-git: spigot (master): Simon Tatham

Commits to Tartarus CVS repository. tartarus-commits at lists.tartarus.org
Mon Jan 5 20:22:01 GMT 2015


TL;DR:
  1f7d01d Improve the arbitrary limits in pow(rational,rational).

Repository:     git://git.tartarus.org/simon/spigot.git
On the web:     http://tartarus.org/~simon-git/gitweb/?p=spigot.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2015-01-05 20:22:01

commit 1f7d01d0dadc9a8d0ed66c249991c2db81f851c3
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=1f7d01d0dadc9a8d0ed66c249991c2db81f851c3;hp=a39752f2785b2d846978cc4ed7d451f89605ba68
Author: Simon Tatham <anakin at pobox.com>
Date:   Mon Jan 5 20:14:53 2015 +0000

    Improve the arbitrary limits in pow(rational,rational).
    
    I set them simultaneously too low for some cases (raising 2 to a big
    power like 10000 should not have to go to exp+log, and likewise
    squaring or cubing a mere 40-digit number) and too high for others (by
    the time you're evaluating 2^(1/1000) you should have gone over to
    exp+log long since because Algebraic gets really slow by then).
    
    So now our limit on the numerator of b also takes the sizes of the
    numerator/denominator of a into account, and is entirely separate from
    the limit on the _denominator_ of b.

 bi_gmp.h      |    4 +--
 bi_internal.h |    4 +--
 exp.cpp       |   79 +++++++++++++++++++++++++++++++++------------------------
 test.sh       |    2 ++
 4 files changed, 52 insertions(+), 37 deletions(-)



More information about the tartarus-commits mailing list