Wheel::Wheel Class Reference

List of all members.

Public Member Functions

def __init__
def type
def cycle
def order
def primes
def spokes
def wheel
def copy_spokes
def divides
def isprime
def generate_spokes
def generate_wheel


Detailed Description

Definition at line 5 of file Wheel.py.


Member Function Documentation

def Wheel::Wheel::__init__ (   self,
  order 
)

Definition at line 7 of file Wheel.py.

00007                                :
00008         if order != None:
00009             self._order  = order
00010             self._spokes = self.generate_spokes( )
00011             self._wheel  = self.generate_wheel( )
00012             p = 1
00013             v = 1
00014             for spoke in self._spokes:
00015                 v = v * p
00016                 p += spoke
00017             self._cycle = v
00018 
    def type( self ):

def Wheel::Wheel::copy_spokes (   self  ) 

Definition at line 38 of file Wheel.py.

00038                            :
00039         list = [ ]
00040         for spoke in self._spokes:
00041             list.append( spoke )
00042         return list
00043 
    def divides( self, val ):

def Wheel::Wheel::cycle (   self  ) 

Definition at line 23 of file Wheel.py.

00023                      :
00024         return self._cycle
00025 
    def order( self ):

def Wheel::Wheel::divides (   self,
  val 
)

Definition at line 44 of file Wheel.py.

00044                             :
00045         for prime in self._primes:
00046             if val % prime == 0:
00047                 return True
00048         return False
00049 
    def isprime( self, val ):

def Wheel::Wheel::generate_spokes (   self  ) 

Definition at line 58 of file Wheel.py.

00058                                :
00059         # include 1 prime beyond spoke count
00060         cnt = 0
00061         val = 1
00062         prv = val
00063         list = [ ]
00064         self._primes = [ ]
00065 
00066         while cnt <= self._order:
00067             val += 1
00068             if self.isprime( val ):
00069                 cnt += 1
00070                 list.append( val - prv )
00071                 prv = val
00072                 if cnt <= self._order:
00073                     self._primes.append( val )
00074 
00075         return list
00076 
    def generate_wheel( self ):

def Wheel::Wheel::generate_wheel (   self  ) 

Definition at line 77 of file Wheel.py.

00077                               :
00078         len = 1
00079         prime = 1
00080 
00081         for spoke in self._spokes:
00082             len *= prime
00083             prime += spoke
00084 
00085         list = self.copy_spokes( )
00086 
00087         prv = prime
00088         for val in range( prime + 1, prime + len + 1 ):
00089             if not self.divides( val ):
00090                 dif = val - prv
00091                 list.append( dif )
00092                 prv = val
00093 
00094         return list
00095 
def main( ):

def Wheel::Wheel::isprime (   self,
  val 
)

Definition at line 50 of file Wheel.py.

00050                             :
00051         factor = 2
00052         while factor * factor <= val:
00053             if val % factor == 0:
00054                 return False
00055             factor += 1
00056         return True
00057 
    def generate_spokes( self ):

def Wheel::Wheel::order (   self  ) 

Definition at line 26 of file Wheel.py.

00026                      :
00027         return self._order
00028 
    def primes( self ):

def Wheel::Wheel::primes (   self  ) 

Definition at line 29 of file Wheel.py.

00029                       :
00030         return self._primes
00031 
    def spokes( self ):

def Wheel::Wheel::spokes (   self  ) 

Definition at line 32 of file Wheel.py.

00032                       :
00033         return self._spokes
00034 
    def wheel( self ):

def Wheel::Wheel::type (   self  ) 

Definition at line 19 of file Wheel.py.

00019                     :
00020 
00021         return "Wheel"
00022 
    def cycle( self ):

def Wheel::Wheel::wheel (   self  ) 

Definition at line 35 of file Wheel.py.

00035                      :
00036         return self._wheel
00037 
    def copy_spokes( self ):


The documentation for this class was generated from the following file:

Generated on Sun Mar 22 09:59:15 2009 for Multiperfect Number Generator by  doxygen 1.5.8