From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gtd-gmbh.de (mail.gtd.eu [46.24.46.35]) by sourceware.org (Postfix) with ESMTPS id D31C238618BD for ; Tue, 1 Sep 2020 16:34:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D31C238618BD Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gtd-gmbh.de Authentication-Results: sourceware.org; spf=none smtp.mailfrom=prvs=151336cf6c=fabian.schriever@gtd-gmbh.de X-MDAV-Result: clean X-MDAV-Processed: gtd-gmbh.de, Tue, 01 Sep 2020 18:32:55 +0200 Received: by gtd-gmbh.de (MDaemon PRO v19.5.5) with ESMTPSA id md50014166822.msg; Tue, 01 Sep 2020 18:32:54 +0200 X-Spam-Processed: gtd-gmbh.de, Tue, 01 Sep 2020 18:32:54 +0200 (not processed: message from trusted or authenticated source) X-MDRemoteIP: 46.237.211.46 X-MDArrival-Date: Tue, 01 Sep 2020 18:32:54 +0200 X-Authenticated-Sender: fabian.schriever@gtd-gmbh.de X-Return-Path: prvs=151336cf6c=fabian.schriever@gtd-gmbh.de X-Envelope-From: fabian.schriever@gtd-gmbh.de X-MDaemon-Deliver-To: newlib@sourceware.org Subject: Re: [PATCH 2/3] libm: Remove __ieee754_gamma_r variants To: newlib@sourceware.org References: <20200826170357.2551683-1-keithp@keithp.com> <20200826170357.2551683-3-keithp@keithp.com> <20200826182046.GR3272@calimero.vinschen.de> <87v9h5dy00.fsf@keithp.com> <20200827072411.GT3272@calimero.vinschen.de> <87pn7cdnns.fsf@keithp.com> <20200828081951.GD3272@calimero.vinschen.de> <20200828083447.GE3272@calimero.vinschen.de> From: Fabian Schriever Message-ID: <3f611061-d504-dc26-29cc-dccffbe008a3@gtd-gmbh.de> Date: Tue, 1 Sep 2020 18:33:30 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <20200828083447.GE3272@calimero.vinschen.de> X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00, HTML_MESSAGE, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Sep 2020 16:34:28 -0000 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