[前][次][番号順一覧][スレッド一覧]

ruby-changes:33797

From: ayumin <ko1@a...>
Date: Fri, 9 May 2014 03:22:45 +0900 (JST)
Subject: [ruby-changes:33797] ayumin:r45878 (trunk): * lib/prime.rb (Prime#prime?): negative numbers can't be primes

ayumin	2014-05-09 03:22:29 +0900 (Fri, 09 May 2014)

  New Revision: 45878

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=45878

  Log:
    * lib/prime.rb (Prime#prime?): negative numbers can't be primes
      by definition. reported by Ivan Kataitsev. [Bug #7395]
    * test/test_prime.rb: add test.

  Modified files:
    trunk/ChangeLog
    trunk/lib/prime.rb
    trunk/test/test_prime.rb
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 45877)
+++ ChangeLog	(revision 45878)
@@ -1,3 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Fri May  9 03:07:09 2014  Ayumu AIZAWA  <ayumu.aizawa@g...>
+
+	* lib/prime.rb (Prime#prime?): negative numbers can't be primes
+	  by definition. reported by Ivan Kataitsev. [Bug #7395]
+	* test/test_prime.rb: add test.
+
 Thu May  8 14:34:29 2014  Nobuyoshi Nakada  <nobu@r...>
 
 	* class.c (rb_mod_init_copy): always clear instance variable,
Index: lib/prime.rb
===================================================================
--- lib/prime.rb	(revision 45877)
+++ lib/prime.rb	(revision 45878)
@@ -157,7 +157,6 @@ class Prime https://github.com/ruby/ruby/blob/trunk/lib/prime.rb#L157
   # +value+:: an arbitrary integer to be checked.
   # +generator+:: optional. A pseudo-prime generator.
   def prime?(value, generator = Prime::Generator23.new)
-    value = -value if value < 0
     return false if value < 2
     for num in generator
       q,r = value.divmod num
Index: test/test_prime.rb
===================================================================
--- test/test_prime.rb	(revision 45877)
+++ test/test_prime.rb	(revision 45878)
@@ -141,8 +141,8 @@ class TestPrime < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/test_prime.rb#L141
 
       # negative
       assert !-1.prime?
-      assert(-2.prime?)
-      assert(-3.prime?)
+      assert !-2.prime?
+      assert !-3.prime?
       assert !-4.prime?
     end
   end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]