|
From: Ethan M. <merritt@u.washington.edu> - 2006-09-25 20:31:48
|
On Monday 25 September 2006 01:08 pm, Hans-Bernhard Br=F6ker wrote:
> CM wrote:
> > I suppose this means that the next question from gnuplot's side of
> > things is "Should we fiddle with auto configuration to work around
> > this?"
>
> No. The next question from our side is: when will Apple fix this bug
> in their implementation of gamma()? Only if the answer to that is
> something equivalent to "never" it makes sense to discuss
> workarounds.
Yes, but...
The state of gamma function implementations has changed a bit since
gnuplot was first designed. Here is an excerpt from the current
documentation:
HISTORY
4.2BSD had a gamma() that computed ln(|Gamma(|x|)|), leaving the sign
of Gamma(|x|) in the external integer signgam. In 4.3BSD the name was
changed to lgamma(), and the man page promises
"At some time in the future the name gamma will be rehabilitated
and used for the Gamma function"
This did indeed happen in 4.4BSD, where gamma() computes the Gamma
function (with no effect on signgam). However, this came too late, and
we now have tgamma(), the "true gamma" function.
The point being that since about 1999 many systems have had a third
option, tgamma(), in addition to the gamma() and lgamma() functions
that gnuplot's autoconfigure checks for. The syntax and usage of
tgamma(), if present, may be more reliable than those of gamma().
=2D-=20
Ethan A Merritt
Biomolecular Structure Center
University of Washington, Seattle WA
|