Public Member Functions | |
def | __init__ |
def | type |
def | __str__ |
def | addString |
def | addValue |
def | at |
def | verify |
def | sgmftr |
Definition at line 13 of file SigmaFactorCache.py.
def SigmaFactorCache::SigmaFactorCache::__init__ | ( | self, | ||
saver = None | ||||
) |
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 | ) |
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 ):