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