From owner-freebsd-numerics@FreeBSD.ORG Wed Jun 5 09:00:32 2013 Return-Path: Delivered-To: numerics@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 56A9CE61 for ; Wed, 5 Jun 2013 09:00:32 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail17.syd.optusnet.com.au (mail17.syd.optusnet.com.au [211.29.132.198]) by mx1.freebsd.org (Postfix) with ESMTP id BB2BD1CDE for ; Wed, 5 Jun 2013 09:00:31 +0000 (UTC) Received: from c122-106-156-23.carlnfd1.nsw.optusnet.com.au (c122-106-156-23.carlnfd1.nsw.optusnet.com.au [122.106.156.23]) by mail17.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id r5590Lms018977 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 5 Jun 2013 19:00:23 +1000 Date: Wed, 5 Jun 2013 19:00:21 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: numerics@freebsd.org Subject: isinf() on NaN args Message-ID: <20130605183354.V1244@besplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.0 cv=e4Ne0tV/ c=1 sm=1 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=Gbq2Tcle6C4A:10 a=BKSoS5k6mVHXEOtCdAMA:9 a=CjuIK1q_8ugA:10 a=ebeQFi2P/qHVC0Yw9JDJ4g==:117 X-BeenThere: freebsd-numerics@freebsd.org X-Mailman-Version: 2.1.14 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: Wed, 05 Jun 2013 09:00:32 -0000 Is isinf(x) (or even fpclassify(x)) permitted to raise FE_INVALID if x is a (quiet) NaN? It shouldn't, but I can't find where C99 requires this. I can only find where C99 requires FE_INVALID to not be raised for comparison macros. It should raise if x is a signaling NaN, but C99 doesn't specify signaling NaNs and the hardware behaviour is more varied and the software bugs are larger for signaling NaNs, so getting this wrong in many cases doesn't matter much. Bruce