simon-git: spigot (master): Simon Tatham
Commits to Tartarus CVS repository.
tartarus-commits at lists.tartarus.org
Tue Apr 14 23:33:31 BST 2015
TL;DR:
031d945 Add missing error check in the lexer.
e182c3a Handle zero-width intervals in BinaryIntervalSource.
8ef685c Do range-reduction in asin.
95e581d Special-case acos(1) = 0.
224cea8 Add trig functions implemented in degrees.
7d3522f Fix sign error in atan2 documentation.
56bc6f7 Fix a sign goof in bi_internal bigint % unsigned.
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-04-14 23:33:31
commit 031d9459351ed0e5eeef4b8685c6fb8fac601898
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=031d9459351ed0e5eeef4b8685c6fb8fac601898;hp=cb8e5eace6ae747ab87b0a601af819d61f776a01
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Apr 14 22:53:26 2015 +0100
Add missing error check in the lexer.
Characters like ! or ; which aren't recognised by the lexer at all
were failing to throw errors, and returning a token structure
containing uninitialised memory.
expr.cpp | 2 ++
1 file changed, 2 insertions(+)
commit e182c3a20572c30e0789f996149ec76f11b36db5
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=e182c3a20572c30e0789f996149ec76f11b36db5;hp=031d9459351ed0e5eeef4b8685c6fb8fac601898
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Apr 14 22:57:17 2015 +0100
Handle zero-width intervals in BinaryIntervalSource.
In the case where the interval narrows to zero width, we correctly
return a matrix implementing a constant function - but if we're called
_again_, which can happen, we return a 0/0 matrix with hilarious
consequences. This caused an assertion failure computing asin(0).
spigot.cpp | 2 ++
test.sh | 1 +
2 files changed, 3 insertions(+)
commit 8ef685c8d62b3c00bceec8bc79bd0f49f0b56bab
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=8ef685c8d62b3c00bceec8bc79bd0f49f0b56bab;hp=e182c3a20572c30e0789f996149ec76f11b36db5
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Apr 14 22:58:03 2015 +0100
Do range-reduction in asin.
asin(1) and asin(-1) failed assertions, because the implementation of
asin translated them both into atan(1/0). Fixed by mapping asin(things
with large modulus) into atan of the inverse value and correcting by
subtracting from pi/2 or -pi/2.
test.sh | 2 ++
trig.cpp | 42 +++++++++++++++++++++++++++++++++++-------
2 files changed, 37 insertions(+), 7 deletions(-)
commit 95e581d3f64eb370077708d1cf698c07f6f83afa
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=95e581d3f64eb370077708d1cf698c07f6f83afa;hp=8ef685c8d62b3c00bceec8bc79bd0f49f0b56bab
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Apr 14 23:00:43 2015 +0100
Special-case acos(1) = 0.
The previous implementation of acos would have computed pi/2 - pi/2,
which would have narrowed to zero just fine and given good _tentative_
output, but we should be able to do better than that.
test.sh | 1 +
trig.cpp | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
commit 224cea8f5f9f0df97e4872137a287d8d5fa4d29d
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=224cea8f5f9f0df97e4872137a287d8d5fa4d29d;hp=95e581d3f64eb370077708d1cf698c07f6f83afa
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Apr 14 23:05:44 2015 +0100
Add trig functions implemented in degrees.
I think I've caught all the rational special cases.
expr.cpp | 28 +++++++
funcs.h | 7 ++
manpage.but | 6 ++
manual.but | 29 +++++++
test.sh | 102 ++++++++++++++++++++++++
trig.cpp | 248 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
6 files changed, 405 insertions(+), 15 deletions(-)
commit 7d3522f801f636b85f72e75e48356592b40a605d
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=7d3522f801f636b85f72e75e48356592b40a605d;hp=224cea8f5f9f0df97e4872137a287d8d5fa4d29d
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Apr 14 23:05:54 2015 +0100
Fix sign error in atan2 documentation.
atan2(0, negative) gives +pi, not -pi. There's even a regression test
for it.
manual.but | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 56bc6f7e269e397363c68339aa333954b2b77c87
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=56bc6f7e269e397363c68339aa333954b2b77c87;hp=7d3522f801f636b85f72e75e48356592b40a605d
Author: Simon Tatham <anakin at pobox.com>
Date: Tue Apr 14 23:28:00 2015 +0100
Fix a sign goof in bi_internal bigint % unsigned.
We were returning the absolute value of the correct remainder.
bi_internal.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
More information about the tartarus-commits
mailing list