Complex Bigfloats for the Gamma function



Dieter Kaiser wrote:
> I have added support for Complex Bigfloat values to the Gamma function. With
> this extension the Gamma function would have complete numerical support.
> 
> With Complex Bigfloats for the Gamma function it is possible to support complete
> Complex Bigfloat evaluation for the Exponential Integral E(n,z) too.
> 
> I have rewritten the functions bbfac and cbfac in Lisp and called them
> bfloat-factorial and complex-bfloat-factorial. What do you think? Should we use
> the rewritten Lisp functions and not the Maxima functions?

As best as I can tell, you've done a very straightforward translation of
the original Maxima implementation.  Does this really make much
difference?  I would think we could make it quite a bit faster if we
used the "native" bfloat operations instead of using mul/add which call
the simplifier.  (But maybe the major cost is calling $bern?.  I didn't
measure it.)

Also, do you know the algorithm used?  It looks like the asymptotic
series for log(gamma(z)) (see A&S 6.1.40).

Can't we arrange it to autoload bffac.mac when needed?

Ray