* 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.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ayumin 2014-05-08 18:22:29 +00:00
parent 16b8aadc75
commit bef8e4557c
3 changed files with 8 additions and 3 deletions

View file

@ -157,7 +157,6 @@ class Prime
# +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