primes-utils 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/primes/utils.rb +6 -4
- data/lib/primes/utils/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25b2ae668e65792c80d4ac4b920c48f769d81536
|
4
|
+
data.tar.gz: c5c4458b63c7865b8929fd85734dad1dd0b57c0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29fb66f3b01e551576df95d57ff7321ee5d919d0d494f145e7d5e2d53538802e2f497d4ed4d130981a826153f904ff3c1648fd174135732077b25d82598df396
|
7
|
+
data.tar.gz: c81e947ae5a70024cd3cf1928551d92abc00f8efcc32c85bf9ade7bd60e96e745e205129066d5f97588c31fd3a8ed74153e506ffacdc6df63d5591325787124d
|
data/lib/primes/utils.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require "primes/utils/version"
|
2
2
|
|
3
|
+
require 'rational' if RUBY_VERSION =~ /^(1.8)/ # for 'gcd' method
|
4
|
+
|
3
5
|
module Primes
|
4
6
|
module Utils
|
5
7
|
private
|
@@ -57,7 +59,7 @@ module Primes
|
|
57
59
|
end
|
58
60
|
|
59
61
|
def factors(p=13) # P13 is default prime generator here
|
60
|
-
seeds = [2, 3, 5, 7, 11, 13, 17, 19
|
62
|
+
seeds = [2, 3, 5, 7, 11, 13, 17, 19]
|
61
63
|
return 'PRIME OPTION NOT A SEEDS PRIME' if !seeds.include? p
|
62
64
|
|
63
65
|
# find primes <= Pn, compute modPn then Prime Gen residues for Pn
|
@@ -95,7 +97,7 @@ module Primes
|
|
95
97
|
# Return value of nth prime
|
96
98
|
# Uses sozP11 Sieve of Zakiya (SoZ) as default prime sieve
|
97
99
|
|
98
|
-
seeds = [2, 3, 5, 7, 11, 13, 17, 19
|
100
|
+
seeds = [2, 3, 5, 7, 11, 13, 17, 19]
|
99
101
|
primes = []
|
100
102
|
|
101
103
|
n = self.abs # the desired nth prime
|
@@ -217,7 +219,7 @@ module Primes
|
|
217
219
|
# I modified the Rosetta Code, as shown below
|
218
220
|
|
219
221
|
require 'openssl'
|
220
|
-
def primemr?(k=20)
|
222
|
+
def primemr?(k=20) # increase k for more reliability
|
221
223
|
n = self.abs
|
222
224
|
return true if n == 2 or n == 3
|
223
225
|
return false if n % 6 != 1 && n % 6 != 5 or n == 1
|
@@ -241,4 +243,4 @@ module Primes
|
|
241
243
|
end
|
242
244
|
end
|
243
245
|
|
244
|
-
class Integer; include Primes end
|
246
|
+
class Integer; include Primes::Utils end
|
data/lib/primes/utils/version.rb
CHANGED