SigmaFactorCache::SigmaFactorCache Class Reference

Inheritance diagram for SigmaFactorCache::SigmaFactorCache:

Inheritance graph
[legend]
Collaboration diagram for SigmaFactorCache::SigmaFactorCache:

Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def type
def __str__
def addString
def addValue
def at
def verify
def sgmftr


Detailed Description

Definition at line 13 of file SigmaFactorCache.py.


Member Function Documentation

def SigmaFactorCache::SigmaFactorCache::__init__ (   self,
  saver = None 
)

Reimplemented from Cache::Cache.

Definition at line 15 of file SigmaFactorCache.py.

00015                                       :
00016         Cache.Cache.__init__( self, saver )
00017 
    def type( self ):

def SigmaFactorCache::SigmaFactorCache::__str__ (   self  ) 

Definition at line 22 of file SigmaFactorCache.py.

00022                        :
00023 
00024         quiet = globals.quiet
00025         globals.quiet = False
00026 
00027         answer = ""
00028         keys = self.sortedkeys( )
00029         for key in keys:
00030             p = key.prime( )
00031             q = key.power( )
00032             ( d, f ) = self._dict[ key ]
00033             if globals.quiet > 0:
00034                 answer += "%s  %s  %s\n" % ( p, q, f )
00035             else:
00036                 answer += "%s    %s  %s  %s\n" % ( d, p, q, f )
00037 
00038         globals.quiet = quiet
00039 
00040         if answer == "":
00041             answer = "<SigmaFactorCache.SigmaFactorCache instance>"
00042 
00043         return answer
00044 
    def addString( self, line ):

def SigmaFactorCache::SigmaFactorCache::addString (   self,
  line 
)

Definition at line 45 of file SigmaFactorCache.py.

00045                                :
00046         tokens = re.split( "  +", line )
00047         date = TimeStamp.TimeStamp( tokens[ 0 ] )
00048 
00049         prime = tokens[ 1 ]
00050         power = tokens[ 2 ]
00051         num = Number.FromStringPair( prime, power )
00052 
00053         tokens = re.split( "[()]", line )
00054         factors = Factors.FromString( tokens[ 1 ] )
00055 
00056         self.addValue( num, factors, date, False )
00057 
00058         return
00059 
    def addValue( self, key, factors, date = None, saver = True ):

def SigmaFactorCache::SigmaFactorCache::addValue (   self,
  key,
  factors,
  date = None,
  saver = True 
)

key is a Number
factors is a Factor list

Definition at line 60 of file SigmaFactorCache.py.

00060                                                                  :
00061         """
00062         key is a Number
00063         factors is a Factor list
00064         """
00065 
00066         if self.verify( key, factors ):
00067             if not self._dict.has_key( key ):
00068                 if date == None:
00069                     date = TimeStamp.TimeStamp( )
00070                 self._dict[ key ] = ( date, factors.copy( ) )
00071                 if saver:
00072                     globals.Saver.newSgmftr( )
00073 
00074         return
00075 
    def at( self, key ):

def SigmaFactorCache::SigmaFactorCache::at (   self,
  key 
)

Reimplemented from Cache::Cache.

Definition at line 76 of file SigmaFactorCache.py.

00076                        :
00077         try:
00078             ( date, value ) = self._dict[ key ]
00079             return value.copy( )
00080         except:
00081             return None
00082 
    def verify( self, value, factors ):

def SigmaFactorCache::SigmaFactorCache::sgmftr (   self,
  p,
  q 
)

Definition at line 99 of file SigmaFactorCache.py.

00099                             :
00100         # Compute sgmftr(p,q)
00101         nn = ( p ** ( q + 1 ) - 1 ) / ( p - 1 )
00102         return nn
        return nn

def SigmaFactorCache::SigmaFactorCache::type (   self  ) 

Reimplemented from Cache::Cache.

Definition at line 18 of file SigmaFactorCache.py.

00018                     :
00019 
00020         return "SigmaFactorCache"
00021 
    def __str__( self ):

def SigmaFactorCache::SigmaFactorCache::verify (   self,
  value,
  factors 
)

Definition at line 83 of file SigmaFactorCache.py.

00083                                       :
00084 
00085         prime = value.prime( )
00086         power = value.power( )
00087 
00088         self_mag = self.sgmftr( prime, power )
00089         fact_mag = factors.magnitude( )
00090 
00091         if self_mag == fact_mag:
00092             return True
00093         else:
00094             print "SigmaFactorCache error:"
00095             print "%s^%s %s" % ( num.prime( ), num. power( ), factors )
00096             pydb.debugger( )
00097             return False
00098 
    def sgmftr( self, p, q ):


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

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