class Prime::Generator23

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.

Public Class Methods

new() click to toggle source
Calls superclass method Prime::PseudoPrimeGenerator.new
# File lib/prime.rb, line 346
def initialize
  @prime = 1
  @step = nil
  super
end

Public Instance Methods

next()
Alias for: succ
rewind() click to toggle source
# File lib/prime.rb, line 368
def rewind
  initialize
end
succ() click to toggle source
# File lib/prime.rb, line 352
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
    return @prime
  end
end
Also aliased as: next