Date: Thu, 7 Aug 2008 14:39:56 +0000 (UTC) From: David Schultz <das@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/msun/src s_cimag.c s_cimagf.c s_cimagl.c s_conj.c s_conjf.c s_conjl.c Message-ID: <200808071440.m77Ee0mA057169@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
das 2008-08-07 14:39:56 UTC FreeBSD src repository Modified files: lib/msun/src s_cimag.c s_cimagf.c s_cimagl.c s_conj.c s_conjf.c s_conjl.c Log: SVN rev 181374 on 2008-08-07 14:39:56Z by das Use cpack() and the gcc extension __imag__ to implement cimag() and conj() instead of using expressions like z * I. The latter is bad for several reasons: 1. It is implemented using arithmetic, which is unnecessary, and can generate floating point exceptions, contrary to the requirements on these functions. 2. gcc implements complex multiplication using a formula that breaks down for infinities, e.g., it gives INFINITY * I == nan + inf I. Revision Changes Path 1.2 +2 -1 src/lib/msun/src/s_cimag.c 1.2 +2 -1 src/lib/msun/src/s_cimagf.c 1.2 +2 -1 src/lib/msun/src/s_cimagl.c 1.2 +4 -1 src/lib/msun/src/s_conj.c 1.2 +4 -1 src/lib/msun/src/s_conjf.c 1.2 +4 -1 src/lib/msun/src/s_conjl.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808071440.m77Ee0mA057169>