Dear all, I'm currently evaluating uClibc for a new in-house architecture. While running math tests, I came across the following behavior: with 0.9.30.1 and the default build options, tgamma(x) returns the same as lgamma(x) for most values of x.
This does not suit my needs at all; I'd like the ISO standard behavior instead, which mandates that tgamma() should return the value of the Gamma function, not its logarithm like lgamma(). The source in libm/w_tgamma.c suggests that this behavior is configurable; however I could not find any option. Instead, I traced that tgamma (w_tgamma.c) calls unconditionally __ieee754_gamma_r, which in turns (e_gamma_r.c) calls __ieee754_lgamma_r, which computes lgamma. Could you enlighten me? (As a side note, I came to realize that the uClibc math code is largely the same as FreeBSD's, in turn originating from the code provided by Sun in the early '90s. So you know, FreeBSD provides different code for tgamma and lgamma.) Thanks in advance for any suggestion. -- Raphael 'kena' Poss · [email protected] · +31 20 525 7559 UvA · FNWI · IvI · CSA · 1098XG 107 Amsterdam (NL) z = \f. (\x. f (\y. x x y)) (\x. f (\y. x x y)) There is no spoon, only fork() and vfork(). _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
