Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jun 2004 23:38:43 -0700
From:      David Schultz <das@FreeBSD.ORG>
To:        "Steven G. Kargl" <kargl@troutmask.apl.washington.edu>
Cc:        freebsd-standards@FreeBSD.ORG
Subject:   Re: standards/59797: Implement C99's round[f]() math fucntions
Message-ID:  <20040607063843.GB13248@VARK.homeunix.com>
In-Reply-To: <200406070128.i571SNuN068542@troutmask.apl.washington.edu>
References:  <20040605224915.GA3306@VARK.homeunix.com> <200406070128.i571SNuN068542@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 06, 2004, Steven G. Kargl wrote:
> I would have to go back and review the PR for all the discussion,
> but I thought bde had proposed using rint(3) with an appropriate
> rounding mode.  Anyway, whatever you decide to do is fine with
> me. 

I found that setting the rounding mode and calling rint(3) is
significantly slower on x87, and that's not counting the special
handling for the halfway cases.  The bit-fiddling approach is a
little bit faster than yours (I compared against ceil()), but it's
much harder to maintain.  Consider that rintf() still has bugs,
and it has been around for over a decade!

> I looked at the glibc implementation of round().  It does
> bit twiddling, but I would definitely recommend not using
> the glibc version because of licensing and possible copyright
> infringement concerns [hiint compare glibc's round() with
> fdlibm's ceil()].

Hmmm...the glibc implementation does indeed appear to be
plagiarized.  Perhaps someone should let the glibc folks know.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040607063843.GB13248>