Class Prime::Generator23
In: lib/backports/1.9.1/stdlib/prime.rb
Parent: PseudoPrimeGenerator

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.

Methods

new   next   rewind   succ  

Public Class methods

[Source]

     # File lib/backports/1.9.1/stdlib/prime.rb, line 329
329:     def initialize
330:       @prime = 1
331:       @step = nil
332:       super
333:     end

Public Instance methods

next()

Alias for succ

[Source]

     # File lib/backports/1.9.1/stdlib/prime.rb, line 351
351:     def rewind
352:       initialize
353:     end

[Source]

     # File lib/backports/1.9.1/stdlib/prime.rb, line 335
335:     def succ
336:       loop do
337:         if (@step)
338:           @prime += @step
339:           @step = 6 - @step
340:         else
341:           case @prime
342:           when 1; @prime = 2
343:           when 2; @prime = 3
344:           when 3; @prime = 5; @step = 2
345:           end
346:         end
347:         return @prime
348:       end
349:     end

[Validate]