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


Groups > comp.lang.forth > #53460

Re: f.) for Gorth

From Charles Montgomery <cgm@physics.utoledo.edu>
Newsgroups comp.lang.forth
Subject Re: f.) for Gorth
Date 2016-12-20 21:23 -0500
Organization A noiseless patient Spider
Message-ID <o3cp09$muc$1@dont-email.me> (permalink)
References (7 earlier) <xrGdnQ2zzu_MY8_FnZ2dnUU7-I_NnZ2d@supernews.com> <o39d4p$tu$1@dont-email.me> <HKSdnUNw5_MWbsXFnZ2dnUU7-Q-dnZ2d@supernews.com> <c710b65d-1694-4d4e-b105-79ee9acb7918@googlegroups.com> <2016Dec20.133512@mips.complang.tuwien.ac.at>

Show all headers | View raw


Anton Ertl wrote:
> ...
> My guess is that the motivation for providing approximate FP equality
> instead of F= is that F= often returns FALSE when the corresponding
> operations on real numbers would have returned true, and sometimes
> even vice versa (the classical issue "a!=b, but a-b=0" for FP numbers
> without denormals is an example of the latter); this problem is
> compounded by differences between different FP variants (as were still
> rampant when Forth-94 was developed).
> 
> So, to avoid leading users into that trap, it's a good idea to provide
> approximate equality; sometimes you want an absolute bound on the
> approximation (F~ABS), sometimes you want the approximation to be
> relative to the sizes of the involved numbers (F~REL).  Word count
> minimization then gave use the Frankenstein word F~.
> 
It is precisely because the equality of two floating point numbers has a 
different meaning than the equality of two real numbers that tests for 
equality of floating point values are rarely used in serious floating 
point computation.
It is not uncommon to test whether the difference between two fp values is 
less than a specified value.

F0= is already in the Standard floating word set.
If exact equality is wanted, it is easy to get:   F- FABS F0=
That seems hardly worth an additional Standard word.
(Note that this tests whether the internal representation of the difference 
is the same as the internal representation of 0e , which might in 
unusual situations be different from a bitwise comparison of the two
internal representations.  If this could matter, I'd say you are treading on 
such thin ice that you should probably find a safer path to your 
destination.)

If what I intend is to test approximate equality, I would never use F~.
First I would need to recall which form of the third argument provides
what I want and then make sure it is entered correctly.  Two opportunities 
for a bug.  A human reading the code (probably me) has the same problems.
It is easy, quick, and clear to spell out just what is wanted.

Apart from its desirability or value, I consider F~ to be badly designed.
If there are two values on the fp stack to compare, it is a bad idea to
put a third value on top of them which will have to moved out of the way
with some sort of floating stack dancing.  Ugh.

regards to all   cgm

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


Thread

f.) for Gorth josv@planet.nl - 2016-12-06 03:40 -0800
  Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-06 15:48 +0100
  Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-06 17:59 +0000
    Re: f.) for Gorth josv@planet.nl - 2016-12-06 13:17 -0800
      Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-07 11:11 +0000
        Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-07 06:11 -0800
          Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-07 17:50 +0000
        Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-07 15:23 +0100
          Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-08 16:18 +0000
        Re: f.) for Gorth josv@planet.nl - 2016-12-07 06:46 -0800
          Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-07 17:41 +0000
  Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-06 10:34 -0800
    Re: f.) for Gorth josv@planet.nl - 2016-12-09 12:11 -0800
      Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-23 13:23 +1100
    Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-15 15:42 -0800
  Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-07 13:06 +1100
    Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-06 18:32 -0800
      Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-07 12:41 +0100
        Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-07 19:49 -0800
          Re: f.) for Gorth Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-12-08 08:12 +0000
            Re: f.) for Gorth Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2016-12-08 18:53 -0500
              Re: f.) for Gorth Alex <alex@rivadpm.com> - 2016-12-09 00:01 +0000
                Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-09 12:17 +0100
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-09 13:01 +0000
              Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-09 11:19 +1100
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-08 22:23 -0800
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-09 07:11 -0800
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-20 22:40 -0800
                Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-20 23:59 -0800
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-21 21:17 -0800
                Re: f.) for Gorth The Beez <the.beez.speaks@gmail.com> - 2016-12-13 08:51 -0800
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-09 12:47 +0000
                Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-10 11:54 +1100
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-09 17:28 -0800
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-09 18:20 -0800
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-10 14:26 +0000
                Re: f.) for Gorth The Beez <the.beez.speaks@gmail.com> - 2016-12-13 09:14 -0800
                Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-13 19:24 +0100
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-14 07:29 -0600
                Re: f.) for Gorth Hans Bezemer <the.beez.speaks@gmail.com> - 2016-12-14 18:29 +0100
                Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-14 10:13 -0800
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-15 03:45 -0600
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-15 10:42 +0000
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-15 05:11 -0600
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-15 12:36 +0000
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-15 07:33 -0600
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-15 14:31 +0000
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-15 14:34 -0600
                Re: f.) for Gorth Paul Rubin <no.email@nospam.invalid> - 2016-12-15 16:20 -0800
                Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-15 16:46 -0800
                Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-17 09:23 -0800
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-19 02:56 -0600
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-16 08:10 +0000
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-16 10:00 -0600
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-18 10:32 +0000
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-19 03:22 -0600
                Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-16 14:14 +0100
                Re: f.) for Gorth Bernd Paysan <bernd@net2o.de> - 2016-12-19 19:41 +0000
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-20 03:02 -0600
                Re: f.) for Gorth mhx@iae.nl - 2016-12-20 01:27 -0800
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-20 12:35 +0000
                Re: f.) for Gorth Charles Montgomery <cgm@physics.utoledo.edu> - 2016-12-20 21:23 -0500
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-21 07:29 +0000
                Re: f.) for Gorth Charles Montgomery <cgm@physics.utoledo.edu> - 2016-12-21 22:24 -0500
                Re: f.) for Gorth "David N. Williams" <williams@umich.edu> - 2016-12-22 08:10 -0500
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-22 17:39 +0000
                Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-15 12:53 +0100
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-15 05:59 -0600
                Re: f.) for Gorth "Robert L." <No_spamming@noWhere_7073.org> - 2017-01-03 16:15 +0000
                Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-14 17:06 +0000
                Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-18 10:58 +1100
                Re: f.) for Gorth Paul Rubin <no.email@nospam.invalid> - 2016-12-17 17:26 -0800
                Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-19 13:16 +1100
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-18 19:19 -0800
                Re: f.) for Gorth john <anon@example.com> - 2016-12-19 11:03 +0000
                Re: f.) for Gorth Mark Wills <markwills1970@gmail.com> - 2016-12-20 01:46 -0800
                Re: f.) for Gorth john <anon@example.com> - 2016-12-20 12:14 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-20 17:34 -0800
                Re: f.) for Gorth Paul Rubin <no.email@nospam.invalid> - 2016-12-18 19:25 -0800
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-18 19:45 -0800
                Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-22 11:32 +1100
                Re: f.) for Gorth Bernd Paysan <bernd@net2o.de> - 2017-01-03 19:33 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2017-01-03 22:13 -0800
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2017-01-04 23:03 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2017-01-06 22:52 -0800
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2017-01-07 22:45 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2017-01-07 17:23 -0800
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2017-01-08 09:13 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2017-01-08 17:10 -0800
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2017-01-09 10:22 +0000
                Re: f.) for Gorth stephen@mpeforth.com - 2017-01-08 07:00 -0800
                Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-20 14:09 +0200
                Re: f.) for Gorth Matthias Trute <matthias.trute@gmail.com> - 2017-01-11 01:14 -0800
    Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-07 12:26 +0100
      Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-08 10:21 +1100
        Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-20 15:45 +0100
          Re: f.) for Gorth Alex <alex@rivadpm.com> - 2016-12-20 15:33 +0000
          Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-22 11:37 +1100
            Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-22 14:19 +0100
              Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-23 12:11 +1100
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-22 17:49 -0800
                Re: f.) for Gorth "HAA" <someone@microsoft.com> - 2016-12-23 20:41 +1100
            Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-20 14:21 +0200
  Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-15 22:31 -0800
    Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-16 18:26 -0800
      Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-18 16:41 -0800
        Re: f.) for Gorth stephen@mpeforth.com - 2016-12-20 02:20 -0800
          Re: f.) for Gorth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-20 13:04 +0000
            Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-20 17:27 -0800
  Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-17 10:36 -0800
    Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-17 11:51 -0800
      Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-18 19:35 -0800
        Re: f.) for Gorth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-19 14:17 +0100
          Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-19 10:10 -0800
            Re: f.) for Gorth Alex <alex@rivadpm.com> - 2016-12-19 20:33 +0000
              Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-19 18:11 -0800
                Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-19 19:03 -0800
                Re: f.) for Gorth Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-12-20 08:10 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-20 18:05 -0800
                Re: f.) for Gorth  -  what is a number? Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-12-21 09:04 +0000
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2016-12-20 15:26 +0000
                Re: f.) for Gorth Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-20 11:30 -0600
                Language stds (was Re: f.) for Gorth) Alex <alex@rivadpm.com> - 2016-12-20 19:49 +0000
                Re: Language stds (was Re: f.) for Gorth) john <anon@example.com> - 2016-12-20 20:06 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-20 17:52 -0800
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2016-12-21 13:47 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-21 20:46 -0800
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2016-12-22 14:33 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-22 07:06 -0800
                Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-22 07:21 -0800
                Re: f.) for Gorth Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-12-23 07:41 +0000
                Re: f.) for Gorth Alex <alex@rivadpm.com> - 2016-12-23 08:33 +0000
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-23 18:22 -0800
                Re: f.) for Gorth Julian Fondren <julian.fondren@gmail.com> - 2016-12-23 20:28 -0800
                Re: f.) for Gorth hughaguilar96@gmail.com - 2016-12-26 18:30 -0800
                Language stds (Re: f.) for Gorth) "HAA" <someone@microsoft.com> - 2016-12-24 12:12 +1100
                Re: Language stds (Re: f.) for Gorth) Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-24 03:28 -0600
                Re: Language stds (Re: f.) for Gorth) "Elizabeth D. Rather" <erather@forth.com> - 2016-12-24 10:02 -0600
                Re: Language stds (Re: f.) for Gorth) hughaguilar96@gmail.com - 2016-12-24 16:13 -0800
                Re: Language stds (Re: f.) for Gorth) Alex <alex@rivadpm.com> - 2016-12-24 18:13 +0000
                Re: Language stds (Re: f.) for Gorth) "HAA" <someone@microsoft.com> - 2016-12-28 09:24 +1100
                Re: Language stds (Re: f.) for Gorth) "Elizabeth D. Rather" <erather@forth.com> - 2016-12-27 17:10 -0600
                Re: Language stds (Re: f.) for Gorth) hughaguilar96@gmail.com - 2016-12-27 22:58 -0800
                Re: Language stds (Re: f.) for Gorth) "HAA" <someone@microsoft.com> - 2016-12-29 10:12 +1100
                Re: Language stds (Re: f.) for Gorth) "Elizabeth D. Rather" <erather@forth.com> - 2016-12-29 17:03 -0800
                Re: Language stds (Re: f.) for Gorth) hughaguilar96@gmail.com - 2016-12-29 19:35 -0800
                Re: Language stds (Re: f.) for Gorth) Howerd <howerdo@yahoo.co.uk> - 2016-12-30 05:27 -0800
                Re: Language stds (Re: f.) for Gorth) hughaguilar96@gmail.com - 2016-12-30 19:11 -0800
                Re: Language stds (Re: f.) for Gorth) hughaguilar96@gmail.com - 2016-12-31 06:42 -0800

csiph-web