Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/ein16/synth/d2/test_compare.py
ViewVC logotype

Diff of /branches/ein16/synth/d2/test_compare.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4428, Wed Aug 17 23:24:30 2016 UTC revision 4429, Thu Aug 18 21:01:59 2016 UTC
# Line 101  Line 101 
101      o6 = 0.0      o6 = 0.0
102      c6 = 0.0      c6 = 0.0
103      per = 0.0      per = 0.0
104        t = 0
105      for (o,c) in zip(obv,cor):      for (o,c) in zip(obv,cor):
106          #print ("observed:",o,"correct:",c)          #print ("observed:",o,"correct:",c)
107          length+=1          length+=1
108          if (o==0):  
109            if(o=="nan" or o=="inf" or o=="-inf"):
110              break              break
111          else:          elif (float('nan')==o):
112                break
113            elif(math.isnan(o)):
114                break
115            elif(isinstance(o, float)):
116                if float('-inf') < float(o) < float('inf'):
117              if(abs(o-divConstant)<0.01):              if(abs(o-divConstant)<0.01):
118                  # print "used div constant"                      print "used div constant"
119                  break                  break
120              else:              else:
121                  diff=abs(c-o)                      t+=1
122                        diff=abs(o-c)
123                  sumdiff+=diff                  sumdiff+=diff
124                  if(diff>maxdiff):                  if(diff>maxdiff):
125                      maxdiff=diff                      maxdiff=diff
126                      o6 = o                      o6 = o
127                      c6 = c                      c6 = c
128                else:
129                    break
130            else:
131                break
132        if(t==0):
133            maxdiff=999999999.7
134            pre ="NAN-single"
135            per =100
136            return toStr(name,"x0", maxdiff,maxdiff, per ,pre)
137        else:
138      if(o6==0):      if(o6==0):
139          per = 0.0          per = 0.0
140      else:      else:
# Line 141  Line 159 
159      size =len(obv[0])      size =len(obv[0])
160      #print "no ",no," size: ",size      #print "no ",no," size: ",size
161      pre =""      pre =""
162        t= 0
163    
164      for i in range(no):      for i in range(no):
165          for j in range(size):          for j in range(size):
166              length+=1              length+=1
167              o1=obv[i][j]              o1=obv[i][j]
168              if(o1=="nan"):              print "o1",o1
169                  rtn = "results is nan sumdiff up to now "+str(round(sumdiff/length,4))              if(o1=="nan" or o1=="inf" or o1=="-inf"):
170                  return (rtn,0,0,1,0)                  print "mark-a"
171                    break
172              #c1=round(cor[i][j], 4)              elif (float('nan')==o1):
173              c1= cor[i][j]                  print "mark-b"
             if (o1==0):  
174                  break                  break
175              if(isinstance(o1, float)):              elif(math.isnan(o1)):
176                    break
177                elif(isinstance(o1, float)):
178                    if float('-inf') < float(o1) < float('inf'):
179                  if(abs(o1-divConstant)<0.01):                  if(abs(o1-divConstant)<0.01):
                     print "used div constant"  
180                      break                      break
181                  else:                  else:
182                            t+=1
183                            c1= cor[i][j]
184                      diff=abs(o1-c1)                      diff=abs(o1-c1)
185                      sumdiff += diff                      sumdiff += diff
   
186                      if(diff > maxdiff):                      if(diff > maxdiff):
187                          maxdiff = diff                          maxdiff = diff
188                          o6 = o1                          o6 = o1
189                          c6 = c1                          c6 = c1
190              else:              else:
191                  maxdiff=999999999.7                      break
192                  pre ="NAN"              else:
193                  return                  break
194      if(o6==0):      if(o6==0):
195          per = 0.0          per = 0.0
196      else:      else:
197          per  = abs(100*(maxdiff/o6))          per  = abs(100*(maxdiff/o6))
198    
199        if(t==0):
200            maxdiff=999999999.7
201            pre ="NAN-multiple"
202            per =100
203            return toStr(name,"x0", maxdiff,maxdiff, per ,pre)
204        else:
205      avg = sumdiff/length      avg = sumdiff/length
206      s=" max diff: "+str(round(maxdiff,4))+" sumdiff: "+str(round(avg,4))+" "+ str(round(per,4))+"% c:"+str( c6)+ " o:"+str(o6)+pre      s=" max diff: "+str(round(maxdiff,4))+" sumdiff: "+str(round(avg,4))+" "+ str(round(per,4))+"% c:"+str( c6)+ " o:"+str(o6)+pre
207      return toStr(name,"x0", maxdiff,avg, per ,s)      return toStr(name,"x0", maxdiff,avg, per ,s)

Legend:
Removed from v.4428  
changed lines
  Added in v.4429

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0