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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 02ae799a48a427c43b317bd72d0c610fb2fd61c2
4
- data.tar.gz: bc2dae709f9f666b50a83c0fe70c25d9f1d5251c
3
+ metadata.gz: 25b2ae668e65792c80d4ac4b920c48f769d81536
4
+ data.tar.gz: c5c4458b63c7865b8929fd85734dad1dd0b57c0e
5
5
  SHA512:
6
- metadata.gz: 07f57ffe182198ec1f90d318586edfda8b10371e5f0a74a3a7303dcb4c224f716145863ef1ede2b69a36c0402df4b5f9f4dbc64bcc98191d916a3e22fce2b4c3
7
- data.tar.gz: f078d942fa9ebb6b8f98b4b2343f27fac5f89e43241989ff7ecd0a04b66561ecb15daf7c330d2191ce63d1f86d048ecc365d2e3e4c6e96a886755debf4bd0084
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, 23, 29, 31, 37, 41]
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, 23, 29, 31, 37, 41]
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) # increase k for more reliability
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
@@ -1,5 +1,5 @@
1
1
  module Primes
2
2
  module Utils
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: primes-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jabari Zakiya