Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Aug 2012 16:50:18 -0500
From:      Stephen Montgomery-Smith <stephen@missouri.edu>
To:        freebsd-numerics@freebsd.org
Subject:   Re: Complex arg-trig functions
Message-ID:  <503A9A1A.1050004@missouri.edu>
In-Reply-To: <5036EFDB.3010304@missouri.edu>
References:  <5017111E.6060003@missouri.edu> <501C361D.4010807@missouri.edu> <20120804165555.X1231@besplex.bde.org> <501D51D7.1020101@missouri.edu> <20120805030609.R3101@besplex.bde.org> <501D9C36.2040207@missouri.edu> <20120805175106.X3574@besplex.bde.org> <501EC015.3000808@missouri.edu> <20120805191954.GA50379@troutmask.apl.washington.edu> <20120807205725.GA10572@server.rulingia.com> <20120809025220.N4114@besplex.bde.org> <5027F07E.9060409@missouri.edu> <20120814003614.H3692@besplex.bde.org> <50295F5C.6010800@missouri.edu> <20120814072946.S5260@besplex.bde.org> <50297CA5.5010900@missouri.edu> <50297E43.7090309@missouri.edu> <20120814201105.T934@besplex.bde.org> <502A780B.2010106@missouri.edu> <20120815223631.N1751@besplex.bde.org> <502C0CF8.8040003@missouri.edu> <503265E8.3060101@missouri.edu> <5036EFDB.3010304@missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 08/23/2012 10:07 PM, Stephen Montgomery-Smith wrote:
> I just found out that the boost libraries implement the complex asin
> function.  I think their implementation is more faithful to the paper by
> Hull et al than my implementation is.  It does seem to have a BSD style
> license.  The only problem with it is that it is written in C++.
>
> http://www.boost.org/doc/libs/1_43_0/boost/math/complex/asin.hpp

It turns out that this version of asin.hpp had a bug.  Look instead at
http://www.boost.org/doc/libs/1_51_0/boost/math/complex/asin.hpp

Their acos is a bit buggier.  Their atanh is quite a lot buggier.  Here 
are bugfixes:
https://svn.boost.org/trac/boost/ticket/7290
https://svn.boost.org/trac/boost/ticket/7291

Their asin seems to be about 10-15% faster than mine.  Their error is 
slightly higher (4.5 ULP instead of 4ULP).  The algorithm they used will 
work directly for float, whereas my algorithm needed adjustments from 
the double to the float version.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?503A9A1A.1050004>