From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19232 invoked by alias); 9 Jun 2013 09:39:21 -0000 Mailing-List: contact ecos-patches-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-patches-owner@ecos.sourceware.org Received: (qmail 19222 invoked by uid 89); 9 Jun 2013 09:39:21 -0000 X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Sun, 09 Jun 2013 09:39:20 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id 8DAD44680015 for ; Sun, 9 Jun 2013 10:39:17 +0100 (BST) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iUkERa0zN30Q; Sun, 9 Jun 2013 10:39:10 +0100 (BST) From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-patches@ecos.sourceware.org Subject: [Bug 1001539] Single precision floating point math library Date: Sun, 09 Jun 2013 09:39:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: Patches and contributions X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: ilijak@siva.com.mk X-Bugzilla-Status: NEW X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-06/txt/msg00024.txt.bz2 Please do not reply to this email, use the link below. http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001539 --- Comment #33 from Ilija Kocho --- Created attachment 2255 --> http://bugs.ecos.sourceware.org/attachment.cgi?id=2255&action=edit Inline some portable API functions for IEEE only option (incremental) Here is a proposal for optimisation of some functions for both space and speed. If CYGSEM_LIBM_COMPAT_IEEE_ONLY compatibility option is selected then portable API (wrapper) functions became trivial and can be inlined. Inlining eliminates one step of indirection, producing faster code. The generated code in total, is also shorter. At present following portable APIs are inlined: atan2/atan2f and hypot/hypotf. The reason for this selection is that they are used by basic complex carg/cargf and cabs/cabsf operations respectively. Inlining option is user selectable and is disabled by default in order to preserve backward compatibility Here we come to complex number support. My initial intention was to enable only basic operations: argument, abs value, conjugation, real and imaginary parts (some of them trivial/builtin). However it turned out that complete complex library (taken from Newlib) compiled without warnings - almost verbatim. Therefore I decided to submit complete complex library as well. Most functions are unaltered - hence original copyright banners are preserved. The ones that I have altered are (however trivial) different enough to publish them under eCos licence. That includes: carg, cabs, conj, creal and cimag - all double and float. Arguably the complex support could be subject to a separate bug, but IMO it fits here well in context of previous paragraph. It is easy to change the topic of this bug accordingly. Note: This attachment is incremental to 1656+1657+1658 patch collection. It does not contain complex functions body. That will be posted in a patch that follows. Ilija -- You are receiving this mail because: You are on the CC list for the bug.