Home My Page Projects Code Snippets Project Openings diderot

# SCM Repository

[diderot] View of /branches/ein16/synth/d2/test_compare.py
 [diderot] / branches / ein16 / synth / d2 / test_compare.py

# View of /branches/ein16/synth/d2/test_compare.py

Tue Jul 19 16:35:13 2016 UTC (3 years, 1 month ago) by cchiw
File size: 2342 byte(s)
`add symb_fm3x3d3.diderot`
```#needs output tensor types
from obj_ty import *
from obj_operator import *

def toStr(name,var, maxdiff,sumdiff):
# f = open("results_tmp.txt", 'a+')
#f.write("\n\n **********")
#print (name)
x= " max diff: "+str(maxdiff)+" sumdiff: "+str(sumdiff)
#print "x",x
#f.write(name)
if (maxdiff<=0.01):
rtn = "Results: "+var+": good"
#   f.write("\n\t\t"+rtn)
#f.close()
#print rtn
return (rtn,1,0,0,0)
elif (maxdiff<=0.1):
rtn = "Results: "+var+": eh "+x
#f.write("\n\t\t"+rtn)
#f.close()
#print rtn
return (rtn,0,1,0,0)
else:
rtn = "Results: "+var+": terrible "+x
#f.write("\n\t\t"+rtn)
#f.close()
#print rtn
return (rtn,0,0,1,0)
#difference and error between observed data and correct data
#output is length 1
def checkdiff_1(name, obv, cor):
maxdiff = 0
sumdiff = 0
length = 0
for (o,c) in zip(obv,cor):
#print ("observed:",o,"correct:",c)
length+=1
if (o==0):
break
else:
diff=abs(c-o)
sumdiff+=diff
if(diff>maxdiff):
maxdiff=diff
#print("current maximal difference", maxdiff, "c: ", c, " o:",o)

def checkdiff(name, obv, cor):
no = len(obv)
nc = len(cor)
if(no!=nc):
raise ("different size for data- observed: "+str(n0)+"correct: "+str(nc))
maxdiff=0
sumdiff = 0
length = 0

size =len(obv[0])
#print "no ",no," size: ",size

for i in range(no):
for j in range(size):
length+=1
o1=obv[i][j]
#c1=round(cor[i][j], 4)
c1= cor[i][j]
if (o1==0):
break
diff=abs(o1-c1)
sumdiff += diff
if(diff > maxdiff):
maxdiff = diff
#print("current maximal difference", maxdiff, "c: ", c1, " o:",o1)
if(c1==0):
break