simon-git: spigot (master): Simon Tatham
Commits to Tartarus CVS repository.
tartarus-commits at lists.tartarus.org
Wed Dec 24 19:32:45 GMT 2014
TL;DR:
32f84ba Add special-case handlers for erf(0), erfc(0), Phi(0).
9fc29dd Add a try_get_sign() method to Spigot.
5f224f7 Implement a (very slow) MonotoneInverter system.
b329a33 Implement the inverses of erf, erfc and Phi.
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: 2014-12-24 19:32:45
commit 32f84bacf15f7b5bcadabc66a0dd0f2b2b989ba6
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=32f84bacf15f7b5bcadabc66a0dd0f2b2b989ba6;hp=9ae835f430dc247e01c63ccc2e61e4232c630c0c
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Dec 24 19:28:18 2014 +0000
Add special-case handlers for erf(0), erfc(0), Phi(0).
All these functions will hang if you try to compute them the general
way, but fortunately, a zero input is easy to detect.
erf.cpp | 9 +++++++++
test.sh | 5 +++++
2 files changed, 14 insertions(+)
commit 9fc29dd5fcac1978d2c140f813686e954a5f6e0a
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=9fc29dd5fcac1978d2c140f813686e954a5f6e0a;hp=32f84bacf15f7b5bcadabc66a0dd0f2b2b989ba6
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Dec 24 19:28:35 2014 +0000
Add a try_get_sign() method to Spigot.
This is like get_sign(), but only performs one iteration of the loop,
so that in cases where you anticipate that an exactness hazard could
prevent the full get_sign() from ever terminating, you can instead
interleave calls to try_get_sign() with some other strategy, and
whichever gives an answer first, abandon the other one.
spigot.cpp | 22 ++++++++++++++++++++++
spigot.h | 3 ++-
2 files changed, 24 insertions(+), 1 deletion(-)
commit 5f224f7e89b82fa6732cb4c6395296346b13ab13
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=5f224f7e89b82fa6732cb4c6395296346b13ab13;hp=9fc29dd5fcac1978d2c140f813686e954a5f6e0a
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Dec 24 19:28:36 2014 +0000
Implement a (very slow) MonotoneInverter system.
Given a monotonic function f and a target, this finds f^{-1}(target),
if you also provide it with an interval bracketing the answer. It
works by laborious interval-trisection, hence is very slow.
(Trisection rather than bisection, on the basis that bisection might
run into an exactness hazard if it hits the precise answer, whereas
using trisection permits us to use the new try_get_sign and then we
only need one of the two replacement points to succeed each time.)
funcs.h | 2 +
monotone.cpp | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 180 insertions(+)
commit b329a334dd489cbeb2f0287cd7b950963ba2da93
web diff http://tartarus.org/~simon-git/gitweb/?p=spigot.git;a=commitdiff;h=b329a334dd489cbeb2f0287cd7b950963ba2da93;hp=5f224f7e89b82fa6732cb4c6395296346b13ab13
Author: Simon Tatham <anakin at pobox.com>
Date: Wed Dec 24 19:28:37 2014 +0000
Implement the inverses of erf, erfc and Phi.
These are all done using the new MonotoneInverter, so they're the
slowest functions I've got so far. But I've wanted implementations of
these for a while, and slow ones are better than nothing.
erf.cpp | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
expr.cpp | 22 ++++++++++
funcs.h | 3 ++
manual.but | 20 ++++++++-
test.sh | 9 ++++
5 files changed, 190 insertions(+), 1 deletion(-)
More information about the tartarus-commits
mailing list