math: add a non-dummy tgamma implementation
commit0f53c1a4266ad4cca28115e2c3bcfdc86337d8ca
authorSzabolcs Nagy <nsz@port70.net>
Wed, 12 Dec 2012 00:43:43 +0000 (12 01:43 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Wed, 12 Dec 2012 00:43:43 +0000 (12 01:43 +0100)
tree4dbe18341f662914d8fd916f1f38549444478589
parent14cc9c7f38c80094c05353fcb11fe9e441340583
math: add a non-dummy tgamma implementation

uses the lanczos approximation method with the usual tweaks.
same parameters were selected as in boost and python.
(avoides some extra work and special casing found in boost
so the precision is not that good: measured error is <5ulp for
positive x and <10ulp for negative)

an alternative lgamma_r implementation is also given in the same
file which is simpler and smaller than the current one, but less
precise so it's ifdefed out for now.
src/math/tgamma.c
src/math/tgammaf.c