Date: Sun, 3 Nov 2013 09:48:22 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Steve Kargl <sgk@troutmask.apl.washington.edu> Cc: "freebsd-numerics@FreeBSD.org" <freebsd-numerics@FreeBSD.org>, David Chisnall <theraven@FreeBSD.org>, Bruce Evans <brde@optusnet.com.au> Subject: Re: MUSL math functions Message-ID: <20131103092848.C1004@besplex.bde.org> In-Reply-To: <20131102173011.GB95769@troutmask.apl.washington.edu> References: <DFD5EA35-ABDA-4A09-BFC7-9452D650C7FE@FreeBSD.org> <20131031133352.GA59918@troutmask.apl.washington.edu> <20131101072032.P1002@besplex.bde.org> <20131102173011.GB95769@troutmask.apl.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2 Nov 2013, Steve Kargl wrote: > On Fri, Nov 01, 2013 at 07:52:27AM +1100, Bruce Evans wrote: >> cerfl (not in C99) is apparently amazingly complicated. There is a >> whole library libcerf for it on the net. > > openlibm includes http://ab-initio.mit.edu/wiki/index.php/Faddeeva_Package > I haven't looked into the quality. The webpage claims 13 significant > digits, which is not quite good enough for double. This might be the same (I remember the NOST web page and libcerf mentioning something like Faddeev's algorithm). I thought it was better. >> erf support is very patchy in calculators. See the list in the NIST >> web pages that update Abramowicz and Stegun. I find it hard to test >> since it is not in pari. > > MPFR has implementations for erf and erfc. Testing on flame is > extremely slow due to this. I think that I've only tested > around 50000 values in the non-asymptotic range. I hoped mpfr wouldn't be so (relatively) slow on flame (old/terminanal sparc64). pari does everything using fixed point so it doesn't notice long doubles being slower. Numerical integration of exp(-x^2) to give erf() is only 1000 times slower than exp() in pari (5ms/call vs 5us/call for 28 decimal digits on freefall) so it might be usable. It is just ~100000 times slower than FreeBSD libm erf(). gamma() is native and is 3 times slower than exp() in pari. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131103092848.C1004>