Hans-Bernhard Br=F6ker wrote:
> Daniel J Sebald wrote:
>=20
>=20
>>Probably so. If this is the most up-to-date documentation:
>=20
>=20
>>http://developer.apple.com/documentation/Darwin/Reference/ManPages/man3=
/lgamma.3.html=20
>=20
>=20
>>there is no mention of a variable signgam. =20
>=20
>=20
> And that's a solid bug in any OS math library that purports to implemen=
t=20
> C99 or any recent level of Unix standard compliance. lgamma() is=20
> required to be there, and it's equally required to have a signgam to go=
=20
> with it.
>=20
> > So perhaps it has no meaning anymore for Apple's platform.
>=20
> That's not Appple's decision to make.
>=20
> > Why they would still have the variable in
>=20
>>the library if that were the case, I'm not sure.
>=20
>=20
> They must have it, and they must use it as defined in all applicable=20
> standards.
Well, thanks for pointing out the standard, didn't know there was a C99 s=
tandard. However, if this is the standard documentation at:
http://www.open-std.org/JTC1/SC22/WG14/www/standards
under WG14 N1124 (it's a PDF file), then I don't immediately see any indi=
cation that lgamma() requires there be an associated signgam variable. I=
n fact, there is no such signgam in the document anywhere. The documenta=
tion appears just as listed on the apple websight.
There isn't even a gamma() function in C99. I'm guessing the concept is =
to move away from signgam, I believe, for which the non-threadedness may =
have played a factor in their decision.
So, that first patch I have on SourceForge is the C99 version (just tgamm=
a or lgamma). The second patch is the "alright, we'll be nice to all you=
behind the curve computer users out there" (which is probably somewhere =
near 99.73%) version.
Dan
|