Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 2008 22:42:39 -0500
From:      David Schultz <das@FreeBSD.ORG>
To:        Colin Percival <cperciva@FreeBSD.ORG>
Cc:        cvs-src@FreeBSD.ORG, src-committers@FreeBSD.ORG, Bruce Evans <bde@FreeBSD.ORG>, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/i386/include _types.h
Message-ID:  <20080307034239.GA54694@zim.MIT.EDU>
In-Reply-To: <47D0ADCE.2070405@freebsd.org>
References:  <20080306021222.GA46783@zim.MIT.EDU> <47CF5D19.3090100@freebsd.org> <20080306033246.GA47280@zim.MIT.EDU> <47CF7EBF.6000009@freebsd.org> <20080306063452.GB48339@zim.MIT.EDU> <47CF9586.70707@freebsd.org> <20080307085031.P10724@delplex.bde.org> <47D089A4.4060208@freebsd.org> <20080307022416.GA53988@zim.MIT.EDU> <47D0ADCE.2070405@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 06, 2008, Colin Percival wrote:
> David Schultz wrote:
> > On Thu, Mar 06, 2008, Colin Percival wrote:
> >>   explicit or implicit final destination. When a variable with a declared format
> >>                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>   is a final destination, as in format conversion to a variable, that declared
> >>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>   format of that variable governs its rounding. The format of an implicit
> >>   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>   destination, or of an explicit destination without a declared format, is
> >>   defined by language standard expression evaluation rules.
> > 
> > I think you missed the point about implicit destinations.
> 
> No.  Another quote:
>   2.2.14 destination: The location for the result of an operation upon one or
>   more operands. A destination might be either explicitly designated by the user
>   or implicitly supplied by the system (for example, intermediate results in
>   subexpressions or arguments for procedures). [...]
> 
> Implicit destinations are things like the (x * y) in "x * y - 1.0" or in
> "sqrt(x * y)".
> 
> > The register is an implicit destination. IEEE 754R explains this
> > in more detail.
> 
> Really?   I can't find any such statements... quite the contrary.

When reading the above quotation, you need to keep in mind that in
their terminology, 'z = x + y' is an expression and 'x + y' is a
subexpression. What you're claiming doesn't even make sense.  With
your rules, the 'x * y' in 'k = x * y - 1.0' could be evaluated
with extra precision, the '- 1.0' would be forced to machine
precision, and you'd still have double rounding on the multiply.
This really *isn't* what they meant.

Look, please have a careful look at section 10.2. This is a really
busy week for me, and I don't have the inclination to continue
this discussion if you keep sniping.



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