[libgfortran,patch] Add fallback functions tgamma, lgamma, tgammaf and lgammaf
Jerry DeLisle
jvdelisle@verizon.net
Fri Nov 16 22:02:00 GMT 2007
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
More information about the Fortran
mailing list