Complex arg-trig functions
Stephen Montgomery-Smith
stephen at missouri.edu
Sun Aug 26 21:50:25 UTC 2012
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.
More information about the freebsd-numerics
mailing list