Received: by mail.netbsd.org (Postfix, from userid 605) id 3DBAE14A3D8; Sun, 16 Mar 2014 22:44:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 4D0EE14A3D4 for ; Sun, 16 Mar 2014 22:44:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at NetBSD.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.NetBSD.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id eLlVIC0HSkeV for ; Sun, 16 Mar 2014 22:44:48 +0000 (UTC) Received: from cvs.netbsd.org (cvs.NetBSD.org [IPv6:2001:4f8:3:7:2e0:81ff:fe30:95bd]) by mail.netbsd.org (Postfix) with ESMTP id B510614A23A for ; Sun, 16 Mar 2014 22:44:48 +0000 (UTC) Received: by cvs.netbsd.org (Postfix, from userid 500) id B2DE096; Sun, 16 Mar 2014 22:44:48 +0000 (UTC) Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" MIME-Version: 1.0 Date: Sun, 16 Mar 2014 22:44:48 +0000 From: "David Laight" Subject: CVS commit: src/lib/libm/src To: source-changes@NetBSD.org X-Mailer: log_accum Message-Id: <20140316224448.B2DE096@cvs.netbsd.org> Sender: source-changes-owner@NetBSD.org List-Id: source-changes.NetBSD.org Precedence: bulk Reply-To: source-changes-d@NetBSD.org Mail-Reply-To: "David Laight" Mail-Followup-To: source-changes-d@NetBSD.org Module Name: src Committed By: dsl Date: Sun Mar 16 22:44:48 UTC 2014 Modified Files: src/lib/libm/src: s_exp2.c Log Message: Simplify somewhat: this is C not FORTRAN-IV - we have structures! Directly us 'ieee_double_shape_type' when ripping apart the fp number to avoid an extra store-load in 'STRICT_ASSIGN'. Keep 'k' as the exponent, only do 'k << 20' when generating the fp number from it. Fix infinity and underflow returns on i386 - because the value is returned in %st0 (x87 stack) we have to generate a long double error value. The returned value for integers -1023 and below (which should be denormal fp valuesr) are 'just plain wrong' (tm). To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/lib/libm/src/s_exp2.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.