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