epitools 0.5.85 → 0.5.86

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: 82e55cb9616386886e65746f877bd30630cccede
4
- data.tar.gz: 91912ecab8cf845e802d2a2ebd3ed1ca028ef9e1
3
+ metadata.gz: fa5bd6ece4d40890a3bc17803b39274f0a97e062
4
+ data.tar.gz: 36b46e5f2e7a810cb2c8d7aed8703a86f29dd1bd
5
5
  SHA512:
6
- metadata.gz: fc129fa94cd978d17f046384aaeab7c2a47bfcdfcfbcf90ce6f94da3b33d1b6b7f19e008d842129867af378480a64611bb31872c3b59c0b59a06165dfcee7ec3
7
- data.tar.gz: 1f3a0b926bbc652f97d65097770ba02d5766ec8c0190496ad7d2bc62301da3dc0c3f5c7b635486a86443251def8ada1515127114242421ada65ff292ae4efa88
6
+ metadata.gz: b3640329ef613f895dddd1869ba1ba33e74ef63cbec910876cc49e98a963adc4dbdef5326ddaf9c8e5520c58f9dd60d735a159a480d8bac56031e7ffbacca538
7
+ data.tar.gz: 1ebf3b63523a27cb2a4f825fd9e7bfa3160557e9bae97f8d813a907c7c8f8a9315175905bc375f711fd823fd60234e3e30f0a09a274d476686b36778b3078148
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.85
1
+ 0.5.86
@@ -303,6 +303,22 @@ class Integer
303
303
  Prime.prime? self
304
304
  end
305
305
 
306
+ #
307
+ # Return a specified number of primes (optionally starting at the argument)
308
+ #
309
+ def primes(starting_at=2)
310
+ result = []
311
+ current = starting_at
312
+
313
+ loop do
314
+ if current.prime?
315
+ result << current
316
+ return result if result.size >= self
317
+ end
318
+ current += 1
319
+ end
320
+ end
321
+
306
322
  #
307
323
  # Returns the all the prime factors of a number.
308
324
  #
@@ -431,3 +447,32 @@ class Time
431
447
  end
432
448
 
433
449
  end
450
+
451
+
452
+ class Prime
453
+
454
+ #
455
+ # Return an array of prime numbers within the specified range
456
+ #
457
+ def [](range)
458
+ ubound = range.end
459
+ lbound = range.begin
460
+ ubound -= 1 if range.exclude_end?
461
+ generator = each(ubound)
462
+ n = nil
463
+
464
+ loop do
465
+ break if (n = generator.succ) >= lbound
466
+ end
467
+
468
+ [n, *generator.to_a]
469
+ end
470
+
471
+ end
472
+
473
+ #
474
+ # Return an infinite enumerable of primes
475
+ #
476
+ def primes
477
+ Prime.instance
478
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epitools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.85
4
+ version: 0.5.86
5
5
  platform: ruby
6
6
  authors:
7
7
  - epitron
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-30 00:00:00.000000000 Z
11
+ date: 2016-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec