class Multipri::Prime
Public Class Methods
new(size=10)
click to toggle source
# File lib/multipri/prime.rb, line 5 def initialize(size=10) @size = size end
Public Instance Methods
each() { |n| ... }
click to toggle source
# File lib/multipri/prime.rb, line 9 def each return enum_for(:each) unless block_given? # Taken from https://rosettacode.org/wiki/Sieve_of_Eratosthenes nums = [nil, nil, *2..@size] (2..Math.sqrt(@size)).each do |i| (i**2..@size).step(i){|m| nums[m] = nil} if nums[i] end nums.compact.each { |n| yield n } end