Class: Range
- Inherits:
-
Object
- Object
- Range
- Defined in:
- lib/include/prime.rb
Instance Method Summary collapse
Instance Method Details
#each_prime ⇒ Object
537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 |
# File 'lib/include/prime.rb', line 537 def each_prime() return Enumerator.new(self, :each_prime) unless block_given? primes = Abst.primes_list max = last + (exclude_end? ? -1 : 0) if (first <= primes.last) a = Bisect.bisect_left(primes, first) a.upto(primes.size - 1) do |i| return if max < primes[i] yield primes[i] end end s = primes.last + 2 s.step(max, 2) do |i| yield i if prime?(i) end end |