[#28015] RCR: RUBY_VERSION_INT — Roger Pack <rogerdpack2@...>

Situation:

14 messages 2010/02/02

[#28113] [Bug #2723] $: length affects re-require time of already loaded files — Greg Hazel <redmine@...>

Bug #2723: $: length affects re-require time of already loaded files

16 messages 2010/02/08

[#28151] [Bug #2739] ruby 1.8.7 built with pthreads hangs under some circumstances — Joel Ebel <redmine@...>

Bug #2739: ruby 1.8.7 built with pthreads hangs under some circumstances

31 messages 2010/02/11

[#28188] [Bug #2750] build fails on win32/MinGW: "executable host ruby is required." even when --with-baseruby is used — Christian Bodt <redmine@...>

Bug #2750: build fails on win32/MinGW: "executable host ruby is required." even when --with-baseruby is used

9 messages 2010/02/16

[#28206] Is Math module a wrapper of libm? — Yusuke ENDOH <mame@...>

Hi matz --

23 messages 2010/02/18
[#28212] Re: Is Math module a wrapper of libm? — Yukihiro Matsumoto <matz@...> 2010/02/18

Hi,

[#28219] Re: Is Math module a wrapper of libm? — Yusuke ENDOH <mame@...> 2010/02/18

Hi,

[#28225] Re: Is Math module a wrapper of libm? — Marc-Andre Lafortune <ruby-core-mailing-list@...> 2010/02/18

Hi,

[#28233] Re: Is Math module a wrapper of libm? — Kenta Murata <muraken@...> 2010/02/18

Hi,

[#28265] Re: Is Math module a wrapper of libm? — Marc-Andre Lafortune <ruby-core-mailing-list@...> 2010/02/20

Hi,

[#28286] Re: Is Math module a wrapper of libm? — Kenta Murata <muraken@...> 2010/02/21

Hi

[#28291] Re: Is Math module a wrapper of libm? — Marc-Andre Lafortune <ruby-core-mailing-list@...> 2010/02/22

Hi!

[#28235] [Feature #2759] Regexp /g and /G options — Michael Fellinger <redmine@...>

Feature #2759: Regexp /g and /G options

35 messages 2010/02/18
[#28459] [Feature #2759] Regexp /g and /G options — caleb clausen <redmine@...> 2010/03/04

Issue #2759 has been updated by caleb clausen.

[#28329] [ANN] Ruby 1.9.2dev has passed RubySpec! — Yusuke ENDOH <mame@...>

Hi,

12 messages 2010/02/24

[#28355] [ANN] Toward rich diversity of Ruby development. — Urabe Shyouhei <shyouhei@...>

A short announcement: thanks to some helps of GitHub people, I now have

12 messages 2010/02/27

[#28365] Indentifying key MRI-on-Windows issues — Jon <jon.forums@...>

In an effort to begin summarizing key MRI-on-Windows open issues I'm starting this thread in hopes that those interested will respond with details on the key MRI issues they feel need resolution for Windows users.

11 messages 2010/02/27
[#28690] Re: Indentifying key MRI-on-Windows issues — Roger Pack <rogerdpack2@...> 2010/03/16

> My key concern is http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/24968

[ruby-core:28337] Re: Is Math module a wrapper of libm?

From: Kenta Murata <muraken@...>
Date: 2010-02-25 14:14:50 UTC
List: ruby-core #28337
Hi,

I've written a patch for rubyspec.


diff --git a/core/math/gamma_spec.rb b/core/math/gamma_spec.rb
index 4215075..4b291d3 100644
--- a/core/math/gamma_spec.rb
+++ b/core/math/gamma_spec.rb
@@ -33,23 +33,39 @@ ruby_version_is "1.9" do
     it "returns good numerical approximation for gamma(-0.00001)" do
       Math.gamma(-0.00001).should be_close(-100000.577225, TOLERANCE)
     end
-    
-    it "raises Domain Error given -1" do
-      lambda { Math.gamma(-1) }.should raise_error(Errno::EDOM)
+
+    ruby_version_is ""..."1.9" do
+      it "raises Domain Error given -1" do
+        lambda { Math.gamma(-1) }.should raise_error(Errno::EDOM)
+      end
     end
-    
+
+    ruby_version_is "1.9" do
+      it "raises Math::DomainError given -1" do
+        lambda { Math.gamma(-1) }.should raise_error(Math::DomainError)
+      end
+    end
+
     # See http://redmine.ruby-lang.org/issues/show/2189
     it "returns +infinity given +infinity" do
       Math.gamma(infinity_value).infinite?.should == 1
     end
-    
-    it "raises Domain Error given negative infinity" do
-      lambda { Math.gamma(-infinity_value) }.should raise_error(Errno::EDOM)
+
+    ruby_version_is ""..."1.9" do
+      it "raises Domain Error given negative infinity" do
+        lambda { Math.gamma(-infinity_value) }.should raise_error(Errno::EDOM)
+      end
     end
-    
+
+    ruby_version_is "1.9" do
+      it "raises Math::DomainError given negative infinity" do
+        lambda { Math.gamma(-infinity_value) }.should raise_error(Math::DomainError)
+      end
+    end
+
     it "returns NaN given NaN" do
       Math.gamma(nan_value).nan?.should be_true
     end
 
   end
-end
\ No newline at end of file
+end
diff --git a/core/math/lgamma_spec.rb b/core/math/lgamma_spec.rb
index c3bc48e..1ea5bf4 100644
--- a/core/math/lgamma_spec.rb
+++ b/core/math/lgamma_spec.rb
@@ -34,8 +34,16 @@ ruby_version_is "1.9" do
       lg2[1].should == 1
     end
 
-    it "returns [Infinity, 1] when passed -Infinity" do
-      Math.lgamma(-infinity_value).should == [infinity_value, 1]
+    ruby_version_is ""..."1.9" do
+      it "returns [Infinity, 1] when passed -Infinity" do
+        Math.lgamma(-infinity_value).should == [infinity_value, 1]
+      end
+    end
+
+    ruby_version_is "1.9" do
+      it "raises Math::DomainError when passed -Infinity" do
+        lambda { Math.lgamma(-infinity_value) }.should raise_error(Math::DomainError)
+      end
     end
 
     # Note: see related issue http://redmine.ruby-lang.org/issues/show/2189
@@ -50,15 +58,23 @@ ruby_version_is "1.9" do
     # Note: see related issue http://redmine.ruby-lang.org/issues/show/2189
     # If you would like to see simpler Ruby behavior, lobby for Ruby to
     # have platform-independent Math functions.
-    platform_is :darwin do
-      # JRuby has platform-independent math and behaves as above
-      not_compliant_on :jruby do
-        it "raises an Errno::EDOM when passed Infinity" do
-          lambda { Math.lgamma(infinity_value) }.should raise_error(Errno::EDOM)
+    ruby_version_is ""..."1.9" do
+      platform_is :darwin do
+        # JRuby has platform-independent math and behaves as above
+        not_compliant_on :jruby do
+          it "raises an Errno::EDOM when passed Infinity" do
+            lambda { Math.lgamma(infinity_value) }.should raise_error(Errno::EDOM)
+          end
         end
       end
     end
 
+    ruby_version_is "1.9" do
+      it "returns [Infinity, 1] when passed Infinity" do
+        Math.lgamma(infinity_value).should == [infinity_value, 1]
+      end
+    end
+
     it "returns [NaN, 1] when passed NaN" do
       Math.lgamma(nan_value)[0].nan?.should be_true
       Math.lgamma(nan_value)[1].should == 1
diff --git a/library/mathn/math/shared/rsqrt.rb b/library/mathn/math/shared/rsqrt.rb
index ff12abf..3d1b424 100644
--- a/library/mathn/math/shared/rsqrt.rb
+++ b/library/mathn/math/shared/rsqrt.rb
@@ -13,9 +13,19 @@ describe :mathn_math_rsqrt, :shared => true do
     @object.send(:rsqrt, 12.34).should == Math.sqrt!(12.34)
   end
 
-  it "raises an Errno::EDOM if the argument is a negative number" do
-    lambda { @object.send(:rsqrt, -1) }.should raise_error(Errno::EDOM)
-    lambda { @object.send(:rsqrt, -4.0) }.should raise_error(Errno::EDOM)
-    lambda { @object.send(:rsqrt, -16/64) }.should raise_error(Errno::EDOM)
+  ruby_version_is ""..."1.9" do
+    it "raises an Errno::EDOM if the argument is a negative number" do
+      lambda { @object.send(:rsqrt, -1) }.should raise_error(Errno::EDOM)
+      lambda { @object.send(:rsqrt, -4.0) }.should raise_error(Errno::EDOM)
+      lambda { @object.send(:rsqrt, -16/64) }.should raise_error(Errno::EDOM)
+    end
+  end
+
+  ruby_version_is "1.9" do
+    it "raises an Math::DomainError if the argument is a negative number" do
+      lambda { @object.send(:rsqrt, -1) }.should raise_error(Math::DomainError)
+      lambda { @object.send(:rsqrt, -4.0) }.should raise_error(Math::DomainError)
+      lambda { @object.send(:rsqrt, -16/64) }.should raise_error(Math::DomainError)
+    end
   end
 end
diff --git a/shared/math/atanh.rb b/shared/math/atanh.rb
index b520171..69341af 100644
--- a/shared/math/atanh.rb
+++ b/shared/math/atanh.rb
@@ -120,11 +120,23 @@ describe :math_atanh_private, :shared => true do
 end
 
 describe :math_atanh_no_complex, :shared => true do
-  it "raises an Errno::EDOM for arguments greater than 1.0" do
-    lambda { @object.send(@method, 1.0 + Float::EPSILON)  }.should raise_error(Errno::EDOM)
+  ruby_version_is ""..."1.9" do
+    it "raises an Errno::EDOM for arguments greater than 1.0" do
+      lambda { @object.send(@method, 1.0 + Float::EPSILON)  }.should raise_error(Errno::EDOM)
+    end
+
+    it "raises an Errno::EDOM for arguments less than -1.0" do
+      lambda { @object.send(@method, -1.0 - Float::EPSILON) }.should raise_error(Errno::EDOM)
+    end
   end
 
-  it "raises an Errno::EDOM for arguments less than -1.0" do
-    lambda { @object.send(@method, -1.0 - Float::EPSILON) }.should raise_error(Errno::EDOM)
+  ruby_version_is "1.9" do
+    it "raises an Math::DomainError for arguments greater than 1.0" do
+      lambda { @object.send(@method, 1.0 + Float::EPSILON)  }.should raise_error(Math::DomainError)
+    end
+
+    it "raises an Math::DomainError for arguments less than -1.0" do
+      lambda { @object.send(@method, -1.0 - Float::EPSILON) }.should raise_error(Math::DomainError)
+    end
   end
 end


--
Kenta Murata
OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC

E-mail: mrkn@mrkn.jp
twitter: http://twitter.com/mrkn/
blog: http://d.hatena.ne.jp/mrkn/


In This Thread