simon-git: spigot (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Sun Aug 4 21:30:57 BST 2019


TL;DR:
  63c4e27 Permit semicolons to separate length-0 arg sublists.
  7f45ca3 Recognise Hg(;;x) as an alias for exp(x).
  cbafc56 algebraic(): improve error handling of trivial cases.

Repository:     https://git.tartarus.org/simon/spigot.git
On the web:     https://git.tartarus.org/?p=simon/spigot.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2019-08-04 21:30:57

commit 63c4e27877aa38d9cff88637db525d8dd43def04
web diff https://git.tartarus.org/?p=simon/spigot.git;a=commitdiff;h=63c4e27877aa38d9cff88637db525d8dd43def04;hp=48d28572acb0cac28b0bf354e7075ed55c78cce4
Author: Simon Tatham <anakin at pobox.com>
Date:   Sun Aug 4 20:53:39 2019 +0100

    Permit semicolons to separate length-0 arg sublists.
    
    In the generalised hypergeometric function, it's completely valid to
    give an _empty_ list of numerator or denominator factors - or even
    both (though in that case the function turns boringly into exp).
    
    But my syntax for semicolons in function calls assumed that they were
    an alternative to a comma, which doesn't allow you the freedom to say
    Hg(;2;x) or Hg(1;;x). So now we allow semicolons to be directly
    adjacent, or adjacent to the opening or closing paren.

 algebraic.cpp |  6 +++---
 expr.cpp      | 25 +++++++++++++++++++++----
 funcs.h       | 16 +++++++++++-----
 hypergeom.cpp | 12 ++++++------
 4 files changed, 41 insertions(+), 18 deletions(-)

commit 7f45ca3277f50e7a248a5c3cdecf2d23b86140b1
web diff https://git.tartarus.org/?p=simon/spigot.git;a=commitdiff;h=7f45ca3277f50e7a248a5c3cdecf2d23b86140b1;hp=63c4e27877aa38d9cff88637db525d8dd43def04
Author: Simon Tatham <anakin at pobox.com>
Date:   Sun Aug 4 20:58:46 2019 +0100

    Recognise Hg(;;x) as an alias for exp(x).
    
    Then we get the improved range reduction in the exp implementation.

 hypergeom.cpp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit cbafc56b21e4d0da1ac38c5cd0c5b9ab2cc8153d
web diff https://git.tartarus.org/?p=simon/spigot.git;a=commitdiff;h=cbafc56b21e4d0da1ac38c5cd0c5b9ab2cc8153d;hp=7f45ca3277f50e7a248a5c3cdecf2d23b86140b1
Author: Simon Tatham <anakin at pobox.com>
Date:   Sun Aug 4 21:05:25 2019 +0100

    algebraic(): improve error handling of trivial cases.
    
    Previously, if you gave _just_ a pair of interval bounds and no
    coefficients, algebraic() would get past the initial validity checks,
    make it all the way into AlgebraicPrep actually trying to do something
    sensible, and fail an assertion. Now we don't let any constant
    polynomial get as far as AlgebraicPrep.
    
    Also, while I was here, added an explicit diagnostic for the interval
    endpoints being equal.

 algebraic.cpp | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)



More information about the tartarus-commits mailing list