simon-git: spigot (master): Simon Tatham

Commits to Tartarus CVS repository. tartarus-commits at lists.tartarus.org
Mon Jan 5 19:41:00 GMT 2015


TL;DR:
  bdf1adf Set the 'force_absorb' flag in various functions.
  8286691 Document negative -d values.
  8c9b1c2 Fix exactness hazard at erfinv(0).

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 19:41:00

commit bdf1adf94a73616a2b7212fd04b7eaf64d2e8223
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=bdf1adf94a73616a2b7212fd04b7eaf64d2e8223;hp=ef1491e5b60119e18e79dbe4ae7c2058111629e7
Author: Simon Tatham <anakin at pobox.com>
Date:   Mon Jan 5 18:44:18 2015 +0000

    Set the 'force_absorb' flag in various functions.
    
    I've come across a couple of bugs recently (test cases added) in which
    the first matrix emitted by a Source expands rather than reducing the
    starting interval. In all such cases we're supposed to have set the
    force_absorb flag on the previous return from gen_interval or
    gen_matrix, but a few were missing. In this commit I've somewhat
    unscientifically set the flag in every gen_interval implicated in bugs
    I actually noticed, and a few others that I couldn't immediately
    convince myself would get away without it.
    
    Really I should go back and do all of this more rigorously, sorting
    out all the ad-hoc starting interval bounds and perhaps also adding
    assertions to check that every matrix _not_ preceded by a force_absorb
    is one which maps the starting interval to a (not necessarily proper)
    subinterval of itself.

 consts.cpp   |    2 +-
 erf.cpp      |    2 +-
 exp.cpp      |    4 ++--
 gamma.cpp    |    2 +-
 monotone.cpp |    2 +-
 test.sh      |    3 +++
 6 files changed, 9 insertions(+), 6 deletions(-)

commit 828669105b3f15e11e3b11d4e30a67f7f187fb32
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=828669105b3f15e11e3b11d4e30a67f7f187fb32;hp=bdf1adf94a73616a2b7212fd04b7eaf64d2e8223
Author: Simon Tatham <anakin at pobox.com>
Date:   Mon Jan 5 18:50:49 2015 +0000

    Document negative -d values.
    
    These can be really useful, e.g. to produce half-mantissa-length
    approximations to floating point numbers to permit multi-stage
    arithmetic. I made spigot support them deliberately, so I ought to
    have remembered to document them.

 manpage.but |    2 +-
 manual.but  |    4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 8c9b1c22bc87537e3a269a4b8429c53ab2a12f2e
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=8c9b1c22bc87537e3a269a4b8429c53ab2a12f2e;hp=828669105b3f15e11e3b11d4e30a67f7f187fb32
Author: Simon Tatham <anakin at pobox.com>
Date:   Mon Jan 5 19:37:19 2015 +0000

    Fix exactness hazard at erfinv(0).
    
    I somehow missed this in my big trawl of all exactness hazards: we
    check the sign of the input to erfinv before doing anything else,
    forgetting that we should still do something sensible if it's
    non-obviously zero.
    
    Fixed by adding a new special case in a smallish interval around zero,
    and test case added.
    
    (This patch is best viewed with whitespace changes ignored.)

 erf.cpp    |  181 +++++++++++++++++++++++++++++++++++-------------------------
 spigot.cpp |    9 +--
 test.sh    |    1 +
 3 files changed, 112 insertions(+), 79 deletions(-)



More information about the tartarus-commits mailing list