This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [libgfortran,patch] Add fallback functions tgamma, lgamma, tgammaf and lgammaf


François-Xavier Coudert wrote:
ping; I tend to think that for patches that have a potential to
trigger problems on non-mainstream targets, the earlier they get
committed, the better.

On Nov 11, 2007 5:14 PM, FX Coudert <fxcoudert@gmail.com> wrote:
Attached patch adds fallback implementations of gamma-related C99
functions that are missing on some targets. gamma and lgamma follow
the formulas used in the Fortran netlib implementation, with extra
care taken of exceptionnal values (when an argument or the result is
either an infinity or a NaN) and handling of negative arguments for
lgamma (which the netlib version ignores altogether).

Results of these implementation have be checked against glibc results
on x86_64-linux, and only small differences in the last significant
digits are observed (enough for a fallback implementation; it is also
noteworthy that glibc results are always exact, especially for
lgamma). There is one case where a difference exist: for very large
negative arguments, this implementation returns +Inf while glibc
returns NaN; I don't think it's worth putting extra effort into this
case.

Regtested on x86_64-linux by pretending (tweaking config.h) that it
didn't have any of these function in libm. OK to commit?

FX

PS: Thomas, as you were interested in these, if you later feel like
refining this implementation, please feel free to do so!



:ADDPATCH libgfortran:

OK,

Jerry


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]