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.
348 349 350 351 352 |
# File 'lib/prime.rb', line 348 def initialize @prime = 1 @step = nil super end |
Instance Method Details
#rewind ⇒ Object
368 369 370 |
# File 'lib/prime.rb', line 368 def rewind initialize end |
#succ ⇒ Object Also known as: next
354 355 356 357 358 359 360 361 362 363 364 365 366 |
# File 'lib/prime.rb', line 354 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 |