Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0006729 [Squeak] Kernel minor always 10-13-07 22:14 04-18-10 22:05
Reporter nicolas cellier View Status public  
Assigned To andreas
Priority normal Resolution fixed  
Status closed   Product Version 3.10
Summary 0006729: -Infinity closeTo: Infinity
Description
self deny: (Float infinity negated closeTo: Float infinity)

Though, considering a straight line as the limit of a circle when radius grows infinite, they might be closer than I think...
Additional Information MethodFinder methodFor: {{Float infinity}. Float infinity.}.

will thus find #negated. Warf!
Attached Files  FloatInfinityCloseTo-M6729-Test.1.cs [^] (1,147 bytes) 10-17-07 21:47
 FloatInfinityCloseTo-M6729-Patch.1.cs [^] (626 bytes) 10-17-07 22:13

- Relationships

- Notes
(0011312 - 159 - 165 - 165 - 165 - 165 - 165)
nicolas cellier
10-13-07 22:34

Even (Float infinity closeTo: Float infinity) is arguable...
Knowing that (Float infinity - Float infinity) isNan, how can IEEE 754 let me compare them equal?
 
(0011347 - 1119 - 1503 - 1503 - 1503 - 1503 - 1503)
nicolas cellier
10-17-07 22:12

SHOULD this really be so:
    self assert: (Float infinity closeTo: Float infinity).

IEEE 754 states it should:
    self assert: Float infinity = Float infinity.

However, comparing inf is somewhat messy:
    (lim (x->inf) 2*x) = inf
    (lim (x->inf) x) = inf
    (lim (x->inf) 2*x-x) = inf
Hmm these inf are not even close...

IEEE 754 has the right answer and contradict itself with:
    self assert: (Float infinity - Float infinity) isNan.

So why consider them equal?
I would better understand:
    self deny: (Float infinity closeTo: Float infinity).
Like nan, infinity cannot compare. All we can assert is isInfinite, but not = Float infinity.
Until someone comes with a good rationale to contradict me.

----------------------------------------------------------------------------

Provided patch will
    assert: (Float infinity closeTo: Float infinity)

If we want to deny it, it is as easy as
    (self isInfinite or: [num isInfinite]) ifTrue: [^ false].

But changing IEEE 754 behaviour (Float infinity ~= Float infinity) accordingly is not that simple...
(I consider this a BAD rationale!)
 
(0011560 - 181 - 247 - 247 - 247 - 247 - 247)
Keith_Hodges
12-17-07 16:46
edited on: 12-17-07 17:08

"fix begin"
Installer mantis bug: 6729 fix:'FloatInfinityCloseTo-M6729-Patch.1.cs'.
"fix test"
Installer mantis bug: 6729 fix:'FloatInfinityCloseTo-M6729-Test.1.cs'.
"fix end"

 
(0013185 - 84 - 102 - 102 - 256 - 256 - 256)
nicolas cellier
07-14-09 07:07
edited on: 07-14-09 07:40

The patch I proposed here does not solve 0007368
Resolution is superseded by 0007368.

 
(0013189 - 141 - 195 - 195 - 195 - 195 - 195)
nicolas cellier
07-14-09 07:41

"fix begin"
Installer mantis ensureFix: 7368.
"fix test"
Installer mantis bug: 6729 fix:'FloatInfinityCloseTo-M6729-Test.1.cs'.
"fix end"
 
(0013272 - 59 - 59 - 209 - 209 - 209 - 209)
nicolas cellier
08-24-09 20:10

Fixed in http://source.squeak.org/trunk/Kernel-nice.193.mcz [^]
 

- Issue History
Date Modified Username Field Change
10-13-07 22:14 nicolas cellier New Issue
10-13-07 22:34 nicolas cellier Note Added: 0011312
10-17-07 21:47 nicolas cellier File Added: FloatInfinityCloseTo-M6729-Test.1.cs
10-17-07 22:12 nicolas cellier Note Added: 0011347
10-17-07 22:13 nicolas cellier File Added: FloatInfinityCloseTo-M6729-Patch.1.cs
12-17-07 16:46 Keith_Hodges Note Added: 0011560
12-17-07 17:08 Keith_Hodges Note Edited: 0011560
01-10-09 02:00 Keith_Hodges Status new => pending
01-10-09 03:27 Keith_Hodges Status pending => testing
01-10-09 03:39 Keith_Hodges Status testing => resolved
01-10-09 03:39 Keith_Hodges Fixed in Version  => 3.11
01-10-09 03:39 Keith_Hodges Resolution open => fixed
01-10-09 03:39 Keith_Hodges Assigned To  => Keith_Hodges
01-10-09 03:41 Keith_Hodges Status resolved => testing
07-14-09 07:07 nicolas cellier Note Added: 0013185
07-14-09 07:40 nicolas cellier Note Edited: 0013185
07-14-09 07:41 nicolas cellier Note Added: 0013189
08-24-09 20:10 nicolas cellier Note Added: 0013272
10-03-09 19:33 Keith_Hodges Status testing => assigned
10-03-09 19:33 Keith_Hodges Assigned To Keith_Hodges => andreas
10-03-09 20:13 nicolas cellier Status assigned => resolved
10-03-09 20:13 nicolas cellier Fixed in Version 3.11 => trunk
04-18-10 22:05 andreas Status resolved => closed


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