Class: Prime::Generator23
- Inherits:
-
PseudoPrimeGenerator
- Object
- PseudoPrimeGenerator
- Prime::Generator23
- Defined in:
- lib/prime.rb
Overview
Generates all integer which are greater than 2 and are not divided by 2 nor 3.
This is a pseudo-prime generator, suitable on checking primality of a integer by brute force method.
Instance Method Summary (collapse)
-
- (Generator23) initialize
constructor
A new instance of Generator23.
- - (Object) rewind
- - (Object) succ (also: #next)
Methods inherited from PseudoPrimeGenerator
#each, #upper_bound, #upper_bound=, #with_object
Methods included from Enumerable
Constructor Details
- (Generator23) initialize
A new instance of Generator23
323 324 325 326 |
# File 'lib/prime.rb', line 323 def initialize @prime = 1 @step = nil end |
Instance Method Details
- (Object) rewind
344 345 346 |
# File 'lib/prime.rb', line 344 def rewind initialize end |
- (Object) succ Also known as: next
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 |
# File 'lib/prime.rb', line 328 def succ loop do 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 break @prime end end |