From owner-freebsd-numerics@FreeBSD.ORG Sun Sep 16 04:42:19 2012 Return-Path: Delivered-To: freebsd-numerics@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC31D106564A for ; Sun, 16 Sep 2012 04:42:18 +0000 (UTC) (envelope-from stephen@missouri.edu) Received: from wilberforce.math.missouri.edu (wilberforce.math.missouri.edu [128.206.184.213]) by mx1.freebsd.org (Postfix) with ESMTP id 4AA558FC08 for ; Sun, 16 Sep 2012 04:42:17 +0000 (UTC) Received: from [127.0.0.1] (wilberforce.math.missouri.edu [128.206.184.213]) by wilberforce.math.missouri.edu (8.14.5/8.14.5) with ESMTP id q8G4gGmn001583 for ; Sat, 15 Sep 2012 23:42:17 -0500 (CDT) (envelope-from stephen@missouri.edu) Message-ID: <505558A8.6040600@missouri.edu> Date: Sat, 15 Sep 2012 23:42:16 -0500 From: Stephen Montgomery-Smith User-Agent: Mozilla/5.0 (X11; Linux i686; rv:15.0) Gecko/20120827 Thunderbird/15.0 MIME-Version: 1.0 To: freebsd-numerics@freebsd.org References: <5017111E.6060003@missouri.edu> <50295F5C.6010800@missouri.edu> <20120814072946.S5260@besplex.bde.org> <50297CA5.5010900@missouri.edu> <50297E43.7090309@missouri.edu> <20120814201105.T934@besplex.bde.org> <502A780B.2010106@missouri.edu> <20120815223631.N1751@besplex.bde.org> <502C0CF8.8040003@missouri.edu> <20120906221028.O1542@besplex.bde.org> <5048D00B.8010401@missouri.edu> <504D3CCD.2050006@missouri.edu> <504FF726.9060001@missouri.edu> <20120912191556.F1078@besplex.bde.org> <20120912225847.J1771@besplex.bde.org> <50511B40.3070009@missouri.edu> <20120913204808.T1964@besplex.bde.org> <5051F59C.6000603@missouri.edu> <20120914014208.I2862@besplex.bde.org> <50526050.2070303@missouri.edu> <20120914212403.H1983@besplex.bde.org> <50538E28.6050400@missouri.edu> <20120915231032.C2669@besplex.bde.org> <50548E15.3010405@missouri.edu> <5054C027.2040008@missouri.edu> <5054C200.7090307@missouri.edu> <20120916041132.D6344@besplex.bde.org> <50553424.2080902@missouri.edu> In-Reply-To: <50553424.2080902@missouri.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: Complex arg-trig functions X-BeenThere: freebsd-numerics@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of high quality implementation of libm functions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Sep 2012 04:42:19 -0000 Hey guys - I have a piece of code like this: if (ax < DBL_EPSILON && ay < DBL_EPSILON) if ((int)ax==0 && (int)ay==0) { /* raise inexact */ if (sy == 0) return (cpack(m_pi_2 - x, copysign(ay, -1))); return (cpack(m_pi_2 - x, ay)); } Is there a good reason I didn't code it like this? if (ax < DBL_EPSILON && ay < DBL_EPSILON) if ((int)ax==0 && (int)ay==0) /* raise inexact */ return (cpack(m_pi_2 - x, -y)); I'm trying to remember if I coded it the second way, and one of you told me to code it the first way. Or maybe I came up with the first way myself - maybe I wasn't sure what would happen if y was 0 or -0. Thanks, Stephen