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 +4 -4
- data/VERSION +1 -1
- data/lib/epitools/core_ext/numbers.rb +45 -0
- 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: fa5bd6ece4d40890a3bc17803b39274f0a97e062
|
4
|
+
data.tar.gz: 36b46e5f2e7a810cb2c8d7aed8703a86f29dd1bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3640329ef613f895dddd1869ba1ba33e74ef63cbec910876cc49e98a963adc4dbdef5326ddaf9c8e5520c58f9dd60d735a159a480d8bac56031e7ffbacca538
|
7
|
+
data.tar.gz: 1ebf3b63523a27cb2a4f825fd9e7bfa3160557e9bae97f8d813a907c7c8f8a9315175905bc375f711fd823fd60234e3e30f0a09a274d476686b36778b3078148
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
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.
|
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-
|
11
|
+
date: 2016-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|