Re: [PATCH 2/3] libm: Remove __ieee754_gamma_r variants
Fabian Schriever <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
Hi Keith, We welcome your efforts to clean up - and correct the error return values of - the gamma/lgamma/tgamma families. Regarding Corinna's concern with lgamma_r/gamma_r being BSD-functions: > You can't do that. gamma_r/gammaf_r/lgamma_r/lgammaf_r are BSD > functions. They have been exported by Cygwin since 2001. The entry > points need to be kept available with unchanged semantics. We would favor the removal of all non C/POSIX(+XSI)-standard functions from the interface. The reason to regard lgamma_r and gamma_r as "BSD-functions" comes from the fact that BSD (same as newlib) took fdlibm as the base for its libm back in the early 90s when some non-standard functions were part of that library. We would encourage the use of only the C/POSIX(+XSI)-standard functions as the only way to get rid of the confusing semantics of the historical function interfaces otherwise the problem will only perpetuate into the future. If something was changed in 2002, that is working incorrectly and no one found out until now, that is also not part of any standard, it suggests that no one is actually using it and should be able to be safely removed. Does Newlib have a policy to remove elements? An interesting discussion about the standard lgamma/tgamma functions would be to discuss accuracy improvements in line with the glibc improvements from Joseph Myers (see https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=050f29c18873ec05ba04a4034bed8cb3f6ae4463). Best regards, Fabian