From owner-cvs-lib Wed Aug 28 09:34:51 1996 Return-Path: owner-cvs-lib Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA11801 for cvs-lib-outgoing; Wed, 28 Aug 1996 09:34:51 -0700 (PDT) Received: (from bde@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA11762; Wed, 28 Aug 1996 09:34:39 -0700 (PDT) Date: Wed, 28 Aug 1996 09:34:39 -0700 (PDT) From: Bruce Evans Message-Id: <199608281634.JAA11762@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-lib Subject: cvs commit: src/lib/msun/src s_rint.c s_rintf.c Sender: owner-cvs-lib@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk bde 96/08/28 09:34:38 Modified: lib/msun/src s_rint.c s_rintf.c Log: Made rintf() actually work. It was completely broken (when s_rint.c was compiled with -O) by the precision bug in the i386 version of gcc (assignments and casts don't clip the precision). E.g., rintf(12.3456789) was 12.125. Avoid the same bug in rint(). It was only broken for the unusual case when the i387 precision is 64 bits. FreeBSD defaults to 53 bit precision to avoid problems like this, but the standard math emulator always uses 64 bit precision. Revision Changes Path 1.3 +10 -3 src/lib/msun/src/s_rint.c 1.3 +9 -3 src/lib/msun/src/s_rintf.c