Generates all integers which are greater than 2 and are not divisible by either 2 or 3.
This is a pseudo-prime generator, suitable on checking primality of an integer by brute force method.
# File lib/prime.rb, line 450 def initialize @prime = 1 @step = nil super end
Prime::PseudoPrimeGenerator::new # File lib/prime.rb, line 470 def rewind initialize end
# File lib/prime.rb, line 456
def succ
if (@step)
@prime += @step
@step = 6 - @step
else
case @prime
when 1; @prime = 2
when 2; @prime = 3
when 3; @prime = 5; @step = 2
end
end
@prime
end
Ruby Core © 1993–2020 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.