Skip site navigation (1)Skip section navigation (2)
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>