primes-utils 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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