primes-utils 1.1.0 → 1.1.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/README.md +1 -1
 - data/lib/primes/utils.rb +11 -11
 - data/lib/primes/utils/version.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b3c9d1ce71f37ddfef893df9081068e4bed16c1f
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 8c43034d10f57ad8e4753e866c35c52b43da8d37
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: f12686ee34059845f8c0525283b1d83a4076676606acce3acbd1b3c58baacd375648c8cb926aaa61b2cb69d9df109f939ec7977e7d158044bf0e028f9df4374f
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 0e6d049b7a9787bce8ceb27cafc224d1a0e05dd8ae7438ed36ae6ecd1916351bd1dedc944e0abc8ac3a77e400edee4d902fe79d9ad71fde02a641199aea44e09
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -102,7 +102,7 @@ Can change SP PG used on input. Acceptable primes range: [3 - 19]. 
     | 
|
| 
       102 
102 
     | 
    
         
             
            ```
         
     | 
| 
       103 
103 
     | 
    
         
             
            1000000.primenth => 15485863
         
     | 
| 
       104 
104 
     | 
    
         
             
            1500000.nthprime => 23879519
         
     | 
| 
       105 
     | 
    
         
            -
            2000000.nthprime 13 =>  
     | 
| 
      
 105 
     | 
    
         
            +
            2000000.nthprime 13 => 32452843
         
     | 
| 
       106 
106 
     | 
    
         
             
            -500000.nthprime => 7368787
         
     | 
| 
       107 
107 
     | 
    
         
             
            0.nthprime => 0
         
     | 
| 
       108 
108 
     | 
    
         
             
            ```
         
     | 
    
        data/lib/primes/utils.rb
    CHANGED
    
    | 
         @@ -105,9 +105,11 @@ module Primes 
     | 
|
| 
       105 
105 
     | 
    
         
             
                  seeds  = [2, 3, 5, 7, 11, 13, 17, 19]
         
     | 
| 
       106 
106 
     | 
    
         
             
                  primes = []
         
     | 
| 
       107 
107 
     | 
    
         | 
| 
       108 
     | 
    
         
            -
                  n = self.abs 
     | 
| 
       109 
     | 
    
         
            -
                  return n != 0 ? seeds[n-1] : 0 
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
      
 108 
     | 
    
         
            +
                  n = self.abs                  # the desired nth prime
         
     | 
| 
      
 109 
     | 
    
         
            +
                  return n != 0 ? seeds[n-1] : 0  if n < seeds.size
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
                  # compute approximate value of (>) nth prime to count up to
         
     | 
| 
      
 112 
     | 
    
         
            +
                  numb = (n*(Math.log(n)+2)).to_i
         
     | 
| 
       111 
113 
     | 
    
         | 
| 
       112 
114 
     | 
    
         
             
                  # find primes <= Pn, compute modPn then Prime Gen residues for Pn
         
     | 
| 
       113 
115 
     | 
    
         
             
                  primes = seeds[0..seeds.index(p)]; mod = primes.reduce(:*)
         
     | 
| 
         @@ -141,14 +143,12 @@ module Primes 
     | 
|
| 
       141 
143 
     | 
    
         
             
                    end
         
     | 
| 
       142 
144 
     | 
    
         
             
                  end
         
     | 
| 
       143 
145 
     | 
    
         
             
                  # the prms array now has all the primes positions for primes r1..N
         
     | 
| 
       144 
     | 
    
         
            -
                  #  
     | 
| 
       145 
     | 
    
         
            -
                   
     | 
| 
       146 
     | 
    
         
            -
                   
     | 
| 
       147 
     | 
    
         
            -
                  prms 
     | 
| 
       148 
     | 
    
         
            -
             
     | 
| 
       149 
     | 
    
         
            -
             
     | 
| 
       150 
     | 
    
         
            -
                    return modk+residues[r] if count == n
         
     | 
| 
       151 
     | 
    
         
            -
                  end
         
     | 
| 
      
 146 
     | 
    
         
            +
                  # count up to nth prime, compute value from address, and output
         
     | 
| 
      
 147 
     | 
    
         
            +
                  prmcnt = primes.size          # number of primes up to Pn
         
     | 
| 
      
 148 
     | 
    
         
            +
                  m=0
         
     | 
| 
      
 149 
     | 
    
         
            +
                  while prmcnt < n; prmcnt +=1 if prms[m]; m +=1 end
         
     | 
| 
      
 150 
     | 
    
         
            +
                  k,rr = m.divmod rescnt
         
     | 
| 
      
 151 
     | 
    
         
            +
                  return (mod*k + residues[rr])
         
     | 
| 
       152 
152 
     | 
    
         
             
                end
         
     | 
| 
       153 
153 
     | 
    
         | 
| 
       154 
154 
     | 
    
         
             
                alias  nthprime  primenth       # to make life easier
         
     | 
    
        data/lib/primes/utils/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: primes-utils
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Jabari Zakiya
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2015-04- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-04-06 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     |