Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #44081

Re: D>F and S>F first draft

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject Re: D>F and S>F first draft
Date 2015-12-05 11:25 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2015Dec5.122557@mips.complang.tuwien.ac.at> (permalink)
References (6 earlier) <n3eg5m$5sq$1@speranza.aioe.org> <n3fk5e$92g$1@dont-email.me> <n3u1dg$5gf$1@speranza.aioe.org> <2d978ba0-d332-447c-b484-31563cd72e4d@googlegroups.com> <55f0b46f-36be-4587-8014-bc5cede778ec@googlegroups.com>

Show all headers | View raw


mhx@iae.nl writes:
>On Saturday, December 5, 2015 at 8:58:33 AM UTC+1, Julian Fondren wrote:
>> On Saturday, December 5, 2015 at 12:49:25 AM UTC-6, HAA wrote:
>> > I gave you a real example:
>> > 
>> >     2147483647. d>f f.  2147484000.  ok
>> > 
>> > In your view is the above 'rounding'?

If the FP number that is printed as "2147484000." is the nearest FP
number, then this is rounding and would be the correct result
according to the proposal.

>> > Or is it an 'ambiguous condition' which
>> > the Standard supports with the system throw code:
>> > 
>> >     -41 "loss of precision"

In the Forth-2012 it is an ambiguous condition, which means that the
system can do anything.  It can throw -41 (but no system does AFAIK),
it can return 2147484000e, it can return something that is not the
nearest FP number, or it can do something else.  OTOH, if the proposal
is accepted, the programmer can check whether the conversion was exact
or did round, and throw if it was not exact.

>To one looking at bits and bytes "2147483647. d>f f.  2147484000."
>is, given a 64bit system with 80bit floats, the wrong answer,

It's the wrong answer for both the current and the proposed F>D,
because 2147483647 can be represented exactly in 80-bit floats (which
have a 64-bit mantissa).

> as is
>
>1152921504606846976 1 + s>f f.  1152921504606850000.  ok
>compared to
>1152921504606846976 1 + s>f f. 1.152921504606846977e18  ok

Again, 1152921504606846977 can be represented exactly in 80-bit FP
numbers, so on such a system the correct result is again the same
without and with this proposal.

OTOH, if you have a system with IEEE 64-bit floats (53-bit mantissa),
1152921504606846977 cannot be represented exactly as floating-point
number.  With the current S>F, the programmer cannot rely on anything
in that case; a program that does that is not a standard program, the
system can do anything, and the programmer has no portable way to
prevent that from happening.  With the proposed change, the programmer
is guaranteed to get the closest FP number, so for a system above the
following

1152921504606846977 s>f f>s .

outputs 1152921504606846976 (using "F>S ." avoids the problem of f. and
other FP output words being somewhat approximate).

>"Rounding" these results only results in added confusion, especially
>as it still needs to be convincingly explained where a 'rounded'
>result helps (especially when relied on unthinkingly).

If it does not help, at least you can determine that the result is not
exact, which you cannot do with an ambiguous result.

I remember one case of using D>F: to get the square root of an integer
with D>F FSQRT F>D.  IIRC I did make an analysis to determine that any
roundings introduced in this process do not cause problems for my
application.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2015: http://www.rigwit.co.uk/EuroForth2015/

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

RfD: D>F and S>F  first draft C G Montgomery <cgm@physics.utoledo.edu> - 2015-11-21 17:59 -0500
  Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-22 18:25 +1100
    Re: D>F and S>F  first draft krishna.myneni@ccreweb.org - 2015-11-22 06:20 -0800
      Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-23 10:58 +1100
        Re: D>F and S>F  first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-23 02:57 +0100
          Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-24 13:16 +1100
            Re: D>F and S>F  first draft Paul Rubin <no.email@nospam.invalid> - 2015-11-23 18:49 -0800
              Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-25 11:51 +1100
                Re: D>F and S>F  first draft Paul Rubin <no.email@nospam.invalid> - 2015-11-24 17:26 -0800
            Re: D>F and S>F  first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-25 02:43 +0100
              Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-26 12:16 +1100
                Re: D>F and S>F  first draft Paul Rubin <no.email@nospam.invalid> - 2015-11-25 17:47 -0800
                Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-26 15:47 +1100
                Re: D>F and S>F  first draft Paul Rubin <no.email@nospam.invalid> - 2015-11-25 23:07 -0800
                Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-26 07:27 +0000
                Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-26 09:19 +0000
                Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-28 04:26 +1100
                Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-28 11:31 +0000
                Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-11-29 20:23 +1100
                Re: D>F and S>F  first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-29 20:39 +0100
                Re: D>F and S>F  first draft "HAA" <someone@microsoft.com> - 2015-12-05 17:48 +1100
                Re: D>F and S>F  first draft Julian Fondren <julian.fondren@gmail.com> - 2015-12-04 23:58 -0800
                Re: D>F and S>F  first draft mhx@iae.nl - 2015-12-05 02:19 -0800
                Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-12-05 11:25 +0000
                Re: D>F and S>F first draft Albert van der Horst <albert@spenarnc.xs4all.nl> - 2015-12-05 13:11 +0000
                Re: D>F and S>F  first draft mhx@iae.nl - 2015-12-05 05:27 -0800
                Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-12-05 15:33 +0000
                Re: D>F and S>F  first draft mhx@iae.nl - 2015-12-07 10:10 -0800
                Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-12-09 16:58 +0000
                Re: D>F and S>F  first draft krishna.myneni@ccreweb.org - 2015-12-06 10:23 -0800
                Re: D>F and S>F  first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-12-06 21:37 +0100
                Re: D>F and S>F  first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-12-05 19:08 +0100
                Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-30 08:33 +0000
                Re: D>F and S>F first draft "Elizabeth D. Rather" <erather@forth.com> - 2015-11-25 21:43 -1000
                Re: D>F and S>F first draft "HAA" <someone@microsoft.com> - 2015-11-28 19:28 +1100
                Re: D>F and S>F first draft Albert van der Horst <albert@spenarnc.xs4all.nl> - 2015-11-26 11:37 +0000
    Re: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-22 15:10 +0000
    Re: D>F and S>F  first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-22 20:48 +0100
      Re: D>F and S>F first draft "Elizabeth D. Rather" <erather@forth.com> - 2015-11-22 13:42 -1000
        Re: D>F and S>F first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-23 11:50 +0000
          Re: D>F and S>F first draft "Elizabeth D. Rather" <erather@forth.com> - 2015-11-23 12:46 -1000
            Forth libraries Lars Brinkhoff <lars.spam@nocrew.org> - 2015-11-24 08:55 +0100
  Re: RfD: D>F and S>F  first draft krishna.myneni@ccreweb.org - 2015-11-22 06:33 -0800
    Re: RfD: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-22 16:00 +0000
      Re: RfD: D>F and S>F  first draft krishna.myneni@ccreweb.org - 2015-11-22 08:53 -0800
        Re: RfD: D>F and S>F  first draft krishna.myneni@ccreweb.org - 2015-11-22 09:11 -0800
        Re: RfD: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-22 18:24 +0000
      Re: RfD: D>F and S>F  first draft Paul Rubin <no.email@nospam.invalid> - 2015-11-22 09:07 -0800
        Re: RfD: D>F and S>F  first draft stephen@mpeforth.com (Stephen Pelc) - 2015-11-22 18:10 +0000
        Re: RfD: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-22 18:26 +0000
          Re: RfD: D>F and S>F first draft rickman <gnuarm@gmail.com> - 2015-11-22 13:58 -0500
            Re: RfD: D>F and S>F first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-23 12:34 +0000
              Re: RfD: D>F and S>F first draft Albert van der Horst <albert@spenarnc.xs4all.nl> - 2015-11-23 16:39 +0000
              Re: RfD: D>F and S>F first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-24 03:00 +0100
            Re: RfD: D>F and S>F first draft Lars Brinkhoff <lars.spam@nocrew.org> - 2015-11-23 13:48 +0100
              Re: RfD: D>F and S>F first draft mhx@iae.nl - 2015-11-23 05:19 -0800
                Re: RfD: D>F and S>F first draft mhx@iae.nl - 2015-11-23 16:09 -0800
        Re: RfD: D>F and S>F  first draft Bernd Paysan <bernd.paysan@gmx.de> - 2015-11-22 20:42 +0100
    Re: RfD: D>F and S>F  first draft C G Montgomery <cgm@physics.utoledo.edu> - 2015-11-22 16:43 -0500
      Re: RfD: D>F and S>F  first draft krishna.myneni@ccreweb.org - 2015-11-22 18:40 -0800
        Re: RfD: D>F and S>F  first draft krishna.myneni@ccreweb.org - 2015-11-22 18:51 -0800
        Re: RfD: D>F and S>F  first draft C G Montgomery <cgm@physics.utoledo.edu> - 2015-11-25 15:47 -0500
  Re: RfD: D>F and S>F  first draft anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-11-22 14:29 +0000
  Re: RfD: D>F and S>F first draft "David N. Williams" <williams@umich.edu> - 2015-11-22 10:41 -0600

csiph-web