This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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


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:


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