OK, I mean to raise a bug about this one. There is some funniness
inside
MRI’s string formatting of floating point numbers. Feel free to change
it
back but then one of the Float specs fails.
I think the relevant one is something like:
10000000000000.0.to_s.should == “100000000000000.0”
100000000000000.0.to_s.should == “1.0E+15”
But IronRuby produces “1.0E+14” and “1.0E+15” or something like that. I
think it has to do with whether you count the trailing zero as a
significant
digit.
Pete
From: [email protected]
[mailto:[email protected]] On Behalf Of John L.
(IRONRUBY)
Sent: Friday,10 October 10, 2008 23:08
To: [email protected]
Subject: Re: [Ironruby-core] Code Review (External): NumericalFixes
You changed this line:
StringFormatter sf = new StringFormatter(scope, "%.15g", new
object[] { self });
To:
StringFormatter sf = new StringFormatter(scope, "%.14g", new
object[] { self });
Why the reduced # of digits? This is causing one of the specs to fail:
-
Math.sqrt returns the square root of the argument FAILED
Expected “123456789.12346”
to equal “123456789.123457”
Thanks,
-John
From: [email protected]
[mailto:[email protected]] On Behalf Of Peter Bacon
Darwin
Sent: Thursday, October 09, 2008 12:00 PM
To: [email protected]
Subject: Re: [Ironruby-core] Code Review (External): NumericalFixes
Pushed the bug fixes to SVN r160. Someone on MS side needs to look at
ironruby-tags and make sure it is up to date.
Pete
From: [email protected]
[mailto:[email protected]] On Behalf Of John L.
(IRONRUBY)
Sent: Thursday,09 October 09, 2008 17:17
To: [email protected]
Subject: Re: [Ironruby-core] Code Review (External): NumericalFixes
Looks good. Please check into SVN and I’ll integrate. Note that I’m
pushing
out r159 in a few minutes, so you’ll need to update and regenerate the
initializers before you check in.
Thanks,
-John
From: [email protected]
[mailto:[email protected]] On Behalf Of Peter Bacon
Darwin
Sent: Thursday, October 09, 2008 7:21 AM
To: [email protected]
Subject: Re: [Ironruby-core] Code Review (External): NumericalFixes
Thanks Jim. I pulled the latest rubyspecs and there are no unexpected
failures.
Still waiting for someone to review my code…
Pete
From: [email protected]
[mailto:[email protected]] On Behalf Of Jim D.
Sent: Wednesday,08 October 08, 2008 21:44
To: [email protected]
Subject: Re: [Ironruby-core] Code Review (External): NumericalFixes
If you are running against the RubySpec’s version of RubySpecs (as
opposed
to the IronRuby repo) you may want to sync and test again. I pushed some
changes last night that make some of the float comparison do numerical
comparisons instead of string comparisons.
JD
From: [email protected]
[mailto:[email protected]] On Behalf Of Peter Bacon
Darwin
Sent: Wednesday, October 08, 2008 10:09 AM
To: [email protected]
Subject: Re: [Ironruby-core] Code Review (External): NumericalFixes
Ping!
From: Peter Bacon D. [mailto:[email protected]]
Sent: Tuesday,07 October 07, 2008 14:38
To: ‘[email protected]’
Subject: Code Review (External): NumericalFixes
A number of fixes to pass most of the relevant rubyspecs.
BignumOps.cs: Leftshift and Rightshift fixes
FixnumOps.cs: Leftshift, Rightshift, Bitwise_Xor,
Bitwise_And and Bitwise_Or fixes
FloatOps.cs: Constant and IsNegativeZero modification.
Also
partial fix to ToS
Integer.cs: DownTo and UpTo fixes
Numeric.cs: Remainder and Step fixes.
(There are now only 2 failures in Numeric, 1 in Float and a number in
Bignum.)