numb 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.1
1
+ 0.7.0
@@ -0,0 +1,5 @@
1
+ class Integer
2
+ def sophie_germain_prime?
3
+ prime? and ((2*self) + 1).prime?
4
+ end
5
+ end
data/lib/numb.rb CHANGED
@@ -6,8 +6,9 @@ libs = %w{abundant achilles automorphic carol composite deficient
6
6
  impolite kaprekar keith kynea lucas lucas_carmichael mms_pair mobius
7
7
  narcissistic nivenmorphic ordinal parasitic perfect perfect_power
8
8
  polite polydivisible powerful practical pronic self self_descriptive
9
- semi_perfect semiprime smarandache_wellin smith sphenic square
10
- square_free triangular trimorphic undulating vampire weird
9
+ semi_perfect semiprime smarandache_wellin smith sophie_germain_prime
10
+ sphenic square square_free triangular trimorphic undulating vampire
11
+ weird
11
12
  }
12
13
 
13
14
  class Integer
@@ -0,0 +1,15 @@
1
+ describe Integer, "#sophie_germain_prime?" do
2
+ SGP = [2,3,5,11,23,29,41,53,83,89,113,131,173,179,191,
3
+ 233,239,251,281,293,359,419,431,443,491,509,593,
4
+ 641,653,659,683,719,743,761,809,911,953,1013,1019,
5
+ 1031,1049,1103,1223,1229,1289,1409,1439,1451,1481,
6
+ 1499,1511,1559]
7
+
8
+ it "returns true for Sophie Germain primes" do
9
+ SGP.each{|n| n.should be_sophie_germain_prime}
10
+ end
11
+
12
+ it "returns false for non-Sophie Germain primes" do
13
+ ([*1..SGP.max] - SGP).each{|n| n.should_not be_sophie_germain_prime}
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Run Paint Run Run
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-02 00:00:00 +00:00
12
+ date: 2010-01-03 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -85,6 +85,7 @@ files:
85
85
  - lib/numb/semiprime.rb
86
86
  - lib/numb/smarandache_wellin.rb
87
87
  - lib/numb/smith.rb
88
+ - lib/numb/sophie_germain_prime.rb
88
89
  - lib/numb/sphenic.rb
89
90
  - lib/numb/square.rb
90
91
  - lib/numb/square_free.rb
@@ -140,6 +141,7 @@ files:
140
141
  - spec/semiprime_spec.rb
141
142
  - spec/smarandache_wellin_spec.rb
142
143
  - spec/smith_spec.rb
144
+ - spec/sophie_germain_prime_spec.rb
143
145
  - spec/spec_helper.rb
144
146
  - spec/sphenic_spec.rb
145
147
  - spec/square_free_spec.rb
@@ -205,6 +207,7 @@ test_files:
205
207
  - spec/lucas_carmichael_spec.rb
206
208
  - spec/composite_spec.rb
207
209
  - spec/practical_spec.rb
210
+ - spec/sophie_germain_prime_spec.rb
208
211
  - spec/parasitic_spec.rb
209
212
  - spec/number_of_prime_factors_spec.rb
210
213
  - spec/frugal_spec.rb