Class: Prime::Generator23
- Inherits:
-
PseudoPrimeGenerator
- Object
- PseudoPrimeGenerator
- Prime::Generator23
- Defined in:
- lib/prime.rb
Overview
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.
Instance Method Summary collapse
-
#initialize ⇒ Generator23
constructor
A new instance of Generator23.
- #rewind ⇒ Object
- #succ ⇒ Object (also: #next)
Methods inherited from PseudoPrimeGenerator
#each, #size, #upper_bound, #upper_bound=, #with_index, #with_object
Constructor Details
#initialize ⇒ Generator23
Returns a new instance of Generator23.
450 451 452 453 454 |
# File 'lib/prime.rb', line 450 def initialize @prime = 1 @step = nil super end |
Instance Method Details
#rewind ⇒ Object
470 471 472 |
# File 'lib/prime.rb', line 470 def rewind initialize end |
#succ ⇒ Object Also known as: next
456 457 458 459 460 461 462 463 464 465 466 467 468 |
# 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 |