Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006711 [Squeak] Kernel minor always 10-08-07 02:10 12-01-08 22:59
Reporter RalphJohnson View Status public  
Assigned To RalphJohnson
Priority normal Resolution fixed  
Status closed   Product Version 3.10
Summary 0006711: FloatTest is wrong
Description FloatTest>>testNaN2 is wrong. It first denies that nan1 = nan1 (which, bizarre as it may seem, is correct) and then asserts that nan1 = nan1. I changed that last statement to nan1 == nan1.
Additional Information
Attached Files  FloatTest-testNaN2-M6711.cs.st [^] (1,351 bytes) 10-08-07 02:13

- Relationships

- Notes
(0011259 - 927 - 1044 - 1044 - 1044 - 1044 - 1044)
nicolas cellier
10-08-07 20:08

Note that in testNaN1 Float nan == Float nan does answer true.
It rely on the fact that Float nan is a constant ^NaN.

But has this any usefull meaning?

I mean, is this really a deliberated feature, or just a side effect of current implementation?

I tend to interpret it a side effect, because most operations will produce a NaN which is ~~ Float nan:

(0.0 ln / 0.0 ln) == Float nan. "is false"
(0.0 ln / 0.0 ln) isNan. "is true'

So user should never use test == Float nan. It might be true sometimes (when coming from Float nan or Number readFrom: 'NaN'), wrong most times.

User should use isNan. That's what the test should emphasize as a feature.

So, this == test just assert that implementation is what it is, which must NOT be interpreted by user as a feature.
This test just forbid implementation to change, which is arbitrary and useless, and might not be portable across dialects and/or versions.
 
(0011260 - 65 - 65 - 65 - 65 - 65 - 65)
nicolas cellier
10-08-07 21:10

Note that in 7137, test is correctly nan1 == nan1 (dtl 10/1/2004)
 
(0012819 - 55 - 55 - 55 - 55 - 55 - 55)
KenCausey
12-01-08 22:59

Harvested as update 7151 and released with Squeak 3.10.
 

- Issue History
Date Modified Username Field Change
10-08-07 02:10 RalphJohnson New Issue
10-08-07 02:13 RalphJohnson File Added: FloatTest-testNaN2-M6711.cs.st
10-08-07 14:38 RalphJohnson Assigned To  => RalphJohnson
10-08-07 14:38 RalphJohnson Status new => assigned
10-08-07 20:08 nicolas cellier Note Added: 0011259
10-08-07 21:10 nicolas cellier Note Added: 0011260
10-09-07 20:40 edgardec Status assigned => resolved
10-09-07 20:40 edgardec version  => 3.10
12-01-08 22:59 KenCausey Status resolved => closed
12-01-08 22:59 KenCausey Note Added: 0012819
12-01-08 22:59 KenCausey Resolution open => fixed
12-01-08 22:59 KenCausey Fixed in Version  => 3.10


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
52 total queries executed.
38 unique queries executed.
Powered by Mantis Bugtracker