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