From owner-freebsd-chat Wed Oct 21 11:12:37 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA18685 for freebsd-chat-outgoing; Wed, 21 Oct 1998 11:12:37 -0700 (PDT) (envelope-from owner-freebsd-chat@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.15.68.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA18664; Wed, 21 Oct 1998 11:12:27 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id EAA32442; Thu, 22 Oct 1998 04:11:58 +1000 Date: Thu, 22 Oct 1998 04:11:58 +1000 From: Bruce Evans Message-Id: <199810211811.EAA32442@godzilla.zeta.org.au> To: jobaldwi@vt.edu, mike@smith.net.au Subject: Re: Bug in rintf()?... Cc: bde@FreeBSD.ORG, freebsd-chat@FreeBSD.ORG Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >> I've been having a problem with rintf() not rounding properly, and I don't >> understand the code in /usr/src/libm/common_source/floor.c well enough to >> figure out where it is going wrong. Here is the problem I'm having though: > >We actually use the Sun-supplied math library, so you should be looking >at src/lib/msun/src/s_rintf.c > >> rintf(3.5) returns 4.0 >> rintf(3910.5) returns 3910.0 (should return 3911.0) This seems to be correct. rintf() rounds to the nearest integer according to the prevailing rounding mode. The default prevailing rounding mode is round-to-even. rintf() even seems to get this right for all the other rounding modes (towards +Inf, towards -Inf and towards 0). Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message