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

SCM Repository

[diderot] Annotation of /branches/ein16/synth/d2/run.py
ViewVC logotype

Annotation of /branches/ein16/synth/d2/run.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4429 - (view) (download) (as text)

1 : cchiw 3865 import sys
2 :     import re
3 :     import os
4 :     from test_createField import createField
5 :     from test_writeDiderot import writeDiderot
6 : cchiw 3915 from test_eval import eval
7 : cchiw 3865 from test_compare import compare
8 :     from test_observed import observed
9 : cchiw 3939 from obj_apply import *
10 :     from obj_ex import *
11 :     from obj_field import *
12 :     from set import *
13 : cchiw 4252 from core import *
14 :     from write import *
15 : cchiw 4385 # unu save -f nrrd -e ascii -i out.nrrd | less
16 : cchiw 4429 isVis15 = true
17 : cchiw 4338 args_types = int(sys.argv[1])
18 :     layer = int(sys.argv[2])
19 :     args = int(sys.argv[3])
20 : cchiw 4325
21 : cchiw 4338 #args_types = 1
22 :    
23 : cchiw 4325 print ("\n\n**** starting:",layer , args,args_types)
24 :    
25 :     ##################################################################################################
26 : cchiw 4212 #global vars
27 :     #rtn = []
28 :     rst_cnt = 0
29 :     rst_total = 0
30 : cchiw 4429 rst_total_compile = 0
31 :     rst_total_terrible = 0
32 :     rst_total_check= 0
33 :     rst_total_good =0
34 :     rst_total_eh= 0
35 :    
36 : cchiw 4212 rst_good = 0
37 :     rst_eh = 0
38 :     rst_terrible = 0
39 : cchiw 4363 rst_check = 0
40 : cchiw 4212 rst_compile = 0
41 : cchiw 4230 rst_cumulative = 0
42 : cchiw 4212 runtimepath = "" #path to branch testing
43 : cchiw 4252 branch=""
44 : cchiw 3940 if isVis15:
45 : cchiw 4379 runtimepath = "/Users/chariseechiw/diderot/vis15/bin/diderotc --exec --double "
46 : cchiw 4252 branch ="vis15"
47 : cchiw 3940 else:
48 : cchiw 4429 #runtimepath = "/Users/chariseechiw/diderot/ein16/bin/diderotc --double "
49 :     #branch = "ein16"
50 :     runtimepath = "/Users/chariseechiw/diderot/branch/ein16-3682/bin/diderotc --double "
51 : cchiw 4252 branch = "ein16"
52 : cchiw 4338 print "runtimepath ", runtimepath
53 : cchiw 4429
54 :     r =runtimepath+" r4428"
55 :     writeall(r)
56 :     writesummary(r)
57 :     write_terrible(r)
58 :    
59 : cchiw 4252 # unu grid -i inputfile.nrrd | unu save -f text
60 :     # ^ where all the points are.
61 :    
62 :     ##################################################################################################
63 :    
64 : cchiw 3939 def clean():
65 :     # Clean up
66 :     os.system("rm *.o")
67 :     os.system("rm *.pyc")
68 :     os.system("rm *.h")
69 :     os.system("rm *.nrrd")
70 : cchiw 4196 os.system("rm *.cxx")
71 : cchiw 4236 os.system("rm *.diderot")
72 : cchiw 4196 os.system("rm fs3d-vec2")
73 :     os.system("rm fs3d-vec2")
74 : cchiw 3874
75 : cchiw 4210 ##################################################################################################
76 : cchiw 3946
77 : cchiw 4252 # add to global results
78 : cchiw 4338 def analyze(pre, rtn, names, x, observed_data, correct_data, branch, extraname):
79 : cchiw 4363 (rtn_1, rst_good_1, rst_eh_1, rst_check_1, rst_terrible_1, rst_compile_1) = rtn
80 : cchiw 4212 global rst_compile
81 :     global rst_good
82 :     global rst_eh
83 : cchiw 4363 global rst_check
84 : cchiw 4212 global rst_terrible
85 :     global rst_cnt
86 : cchiw 4230 global rst_cumulative
87 : cchiw 4429 global rst_total_check
88 :     global rst_total_compile
89 :     global rst_total_eh
90 :     global rst_total_good
91 :     global rst_total_terrible
92 :    
93 : cchiw 4385 x = ("\n\t-"+x+"\n\t-"+rtn_1)
94 : cchiw 4252 writeall(x)
95 : cchiw 4308 print (x)
96 : cchiw 4252 if (rst_compile_1==1):
97 : cchiw 4230 rst_compile += 1
98 : cchiw 4429 rst_total_compile += 1
99 :     #writeToRst(pre+"c__"+names, observed_data, correct_data, branch, x)
100 : cchiw 4338
101 : cchiw 4352 write_terrible("\n\n***"+pre+"c__"+names)
102 : cchiw 4341 write_terrible("\n\t - did not compile: ")
103 : cchiw 4338 write_terrible(extraname)
104 : cchiw 4341 write_terrible(x)
105 : cchiw 4338
106 : cchiw 4230 return
107 :     else:
108 :     # collect results
109 :     rst_good += rst_good_1
110 : cchiw 4429 rst_total_good += rst_good_1
111 : cchiw 4230 rst_eh += rst_eh_1
112 : cchiw 4429 rst_total_eh += rst_eh_1
113 : cchiw 4230 rst_terrible += rst_terrible_1
114 : cchiw 4429 rst_total_terrible += rst_terrible_1
115 : cchiw 4363 rst_check += rst_check_1
116 : cchiw 4429 rst_total_check+=rst_check_1
117 : cchiw 4230 rst_compile += rst_compile_1
118 :     rst_cnt += 1
119 :     rst_cumulative +=1
120 : cchiw 4363 if (rst_check_1==1):
121 :     writesummary(x)
122 :     writeToRst(pre+"k__"+names, observed_data, correct_data, branch, x)
123 :     write_terrible("\n\n***"+pre+"k__"+names)
124 :     write_terrible("\n\t - check: ")
125 :     write_terrible(extraname)
126 :     write_terrible(x)
127 : cchiw 4247 if (rst_terrible_1==1):
128 : cchiw 4230 writesummary(x)
129 : cchiw 4290 writeToRst(pre+"t__"+names, observed_data, correct_data, branch, x)
130 : cchiw 4352 write_terrible("\n\n***"+pre+"t__"+names)
131 : cchiw 4341 write_terrible("\n\t - terrible: ")
132 : cchiw 4338 write_terrible(extraname)
133 :     write_terrible(x)
134 : cchiw 4230 clean()
135 :     return
136 : cchiw 4212 return
137 : cchiw 3874
138 : cchiw 4252 # already created app object
139 :     def central(app, coeffs, dimF, names):
140 :     #print "############################################inside central############################################"
141 :     writetys("\n\t-"+apply.get_all_FieldTys(app)+"|"+ names)
142 : cchiw 4308 print "pre-core"
143 : cchiw 4252 (rtn, x, observed_data, correct_data) = core(app, coeffs, dimF, names, runtimepath, isVis15)
144 :     # add to global results
145 : cchiw 4261 pre = ""
146 : cchiw 4338 return analyze(pre, rtn, names, x, observed_data, correct_data, branch,"\n\t-"+app.name)
147 : cchiw 4261
148 :    
149 :     # already created app object
150 :     def central22(app, coeffs, dimF, names):
151 :     #print "############################################inside central############################################"
152 :     writetys("\n\t-"+apply.get_all_FieldTys(app)+"|"+ names)
153 :    
154 :     #in vis15
155 :     runtimepath = "/Users/chariseechiw/diderot/vis15/bin/diderotc --exec "
156 :     branch = "vis15"
157 :     isVis15 = false
158 :     (rtn, x, observed_data, correct_data) = core(app, coeffs, dimF, names, runtimepath, isVis15)
159 :     analyze(branch, rtn, names, x, observed_data, correct_data, branch)
160 :     # ein 16
161 :     runtimepath = "/Users/chariseechiw/diderot/ein16/bin/diderotc "
162 :     branch="ein16"
163 :     isVis15 = true
164 :     (rtn, x, observed_data, correct_data) = core(app, coeffs, dimF, names, runtimepath, isVis15)
165 :     return analyze(branch, rtn, names, x, observed_data, correct_data, branch)
166 :    
167 : cchiw 4252 ##################################################################################################
168 :    
169 :    
170 :     # functions create app objects
171 : cchiw 3939 # get example from list of examples
172 : cchiw 4252 def create_single_app(opr_inner, t_num):
173 : cchiw 4308 print "single specific ex"
174 : cchiw 4321 (name,opr,ishape)= get_single_example(opr_inner, t_num, args_types)
175 : cchiw 4308 print "callign tshape"
176 : cchiw 4252 (tf1, tshape1) = get_tshape(opr_inner,ishape)
177 : cchiw 4308 if(not tf1):
178 : cchiw 4325 write_terrible("\n apply blocked from attempting: "+"b__"+name+str(opr_inner.id)+"_"+str(t_num))
179 :     return None
180 : cchiw 4308 print "after calling tshape"
181 : cchiw 3939 #create app object
182 : cchiw 4340 (app, coeffs, _) = mkApply_fld(name, opr, ishape, inputfile, tshape1)
183 :     dimF = tshape1.dim
184 : cchiw 4308 print "creating app"
185 :     print "app oty", app.oty
186 : cchiw 3939 # main
187 : cchiw 4308 names= "s_"+str(opr_inner.id)+"__"+"n_"+str(t_num)+"_"
188 : cchiw 4252 return (app, coeffs, dimF, names)
189 : cchiw 4188
190 : cchiw 3939 # checks to see if specific ex works
191 : cchiw 4352 def create_embed_app(opr_inner, opr_outer, t_num, fty, title):
192 : cchiw 4261 print "current embed inner: "+opr_inner.name+"("+str(opr_inner.id)+") outer: " +opr_outer.name+"("+str(opr_outer.id)+")#"+str(t_num)
193 : cchiw 3939 # current example
194 : cchiw 4321 (name,opr_inner,ishape)= get_single_example(opr_inner, t_num, args_types)
195 : cchiw 3946 # first layer
196 : cchiw 4252 # get result after applying operators
197 : cchiw 4230 (tf1, tshape1) = get_tshape(opr_inner,ishape)
198 : cchiw 4268 print "tf1",tf1, tshape1
199 : cchiw 4230 if(tf1==false):
200 : cchiw 4268 print "found false at tf1"
201 : cchiw 4252 return None
202 : cchiw 3939 else:
203 : cchiw 4340 print "tshape1", tshape1.name
204 : cchiw 4230 #second layer, adds second field type
205 :     ishape = ishape+fty
206 :     (tf2, tshape2) = get_tshape(opr_outer,[tshape1]+fty)
207 : cchiw 4268 print "tf2", tf2, tshape2
208 : cchiw 4230 if(tf2==true):# if it works continue
209 :     #create app object
210 : cchiw 4411 print "opr_outer", opr_outer.name
211 : cchiw 4340 print "tshape2", tshape2.name
212 : cchiw 4352 appname = opr_outer.name+"("+opr_inner.name+")"
213 :     (app, coeffs) = mkApply_twice(appname, opr_inner,opr_outer, ishape, inputfile, tshape1, tshape2)
214 : cchiw 4340 dimF = tshape2.dim
215 : cchiw 4230 # main part
216 : cchiw 4352 print title
217 : cchiw 4411 print "appoty",app.oty.name
218 : cchiw 4352 return (app, coeffs, dimF, title)
219 : cchiw 4230 else:
220 : cchiw 4252 # "\n\t\tskipped did not apply "+opr_outer.name+" to ("+str(tshape2)+","
221 : cchiw 4268 print "tf2 found false at this point"
222 : cchiw 4252 return None
223 :     ##################################################################################################
224 :     # get example from list of examples
225 :     def single_specific_ex(opr_inner, t_num):
226 :     global rst_total
227 :     rst_total+= 1
228 :     # main
229 : cchiw 4325 rtn = create_single_app(opr_inner, t_num)
230 :     if (rtn==None):
231 :     return
232 :     else:
233 :     (app, coeffs, dimF, names) = rtn
234 :     print "names",names
235 :     return central(app, coeffs, dimF, names)
236 : cchiw 4252
237 : cchiw 4308 def get_all_types():
238 :     if(args_types==0):
239 : cchiw 4321 return l_all_T
240 :     elif(args_types==1):
241 : cchiw 4308 return l_all_F
242 : cchiw 4338 else:
243 : cchiw 4321 return l_all
244 : cchiw 4308
245 :     def get_extra(ex_ty2):
246 :     l = get_all_types()
247 :     return (len(l), l[ex_ty2])
248 :    
249 :    
250 : cchiw 4252 def embed_base_specific_ex(opr_inner, opr_outer, t_num, t_ty2):
251 :     global rst_total
252 :     rst_total+= 1
253 :     # get specific outer operator
254 : cchiw 4268 print "inside embed base specific "
255 :     print "inner", opr_inner.id, "outer", opr_outer.id, "t-num", t_num
256 : cchiw 4252 def get_fty(ex_ty2):
257 :     if(needextratype(opr_inner, opr_outer)):
258 : cchiw 4308 (_, x) = get_extra(ex_ty2)
259 : cchiw 4268 print "gets extra type @", ex_ty2, x.name
260 : cchiw 4352 return ([x], "_fty"+ str(t_ty2))
261 : cchiw 4252 else:
262 : cchiw 4352 return ([], "")
263 :     (fty, s) = get_fty(t_ty2)
264 :     names="p_aty"+str(args_types)+"_i"+str(opr_inner.id)+"_o"+str(opr_outer.id)+"_n"+str(t_num)+s
265 : cchiw 4411 print "names",names
266 : cchiw 4352 rtn = create_embed_app(opr_inner, opr_outer, t_num, fty, names)
267 : cchiw 4252 if(rtn==None):
268 : cchiw 4268 print "found none after create embed app"
269 : cchiw 4212 return
270 : cchiw 4252 else:
271 : cchiw 4268 print "found something after create embed app"
272 : cchiw 4252 (app, coeffs, dimF, names) = rtn
273 : cchiw 4243
274 : cchiw 4252 return central (app, coeffs, dimF, names)
275 : cchiw 4243
276 : cchiw 4252
277 :     ##################################################################################################
278 : cchiw 4429 def writeCumulativeS():
279 :     x= "\n\n # cumulative break down # "+str(rst_cumulative)
280 :     x+= " A# "+str(rst_total_good )+" B # "+str(rst_total_eh )+" C# "+str( rst_total_check )+" D# "+str(rst_total_terrible )+" did not run # "+str( rst_total_compile)
281 :     return x
282 :    
283 :    
284 :     def writeCumulative():
285 :     x=writeCumulativeS()
286 :     print (x)
287 :     writeall(x)
288 :     writesummary(x)
289 :    
290 :    
291 : cchiw 4252 def write_results(pre):
292 :     global rst_compile
293 :     global rst_good
294 :     global rst_eh
295 :     global rst_terrible
296 : cchiw 4363 global rst_check
297 : cchiw 4252 global rst_cnt
298 :     global rst_total
299 :     global layer
300 :     global args
301 :     # global rst_cumulative
302 :     x= "\n"
303 :     if(rst_good==rst_cnt):
304 :     x+="PASS:"
305 :     else:
306 :     x+="CHECK:"
307 :     x+= "cmd: "+str(layer)+" "+str(args)+" "+"- "+pre+"- "+branch
308 :     if(rst_good>0):
309 :     x+=" A:"+str(rst_good)+"|"+str(rst_cnt)
310 :     if(rst_eh>0):
311 :     x+=" B:"+str( rst_eh)+"|"+str(rst_cnt)
312 : cchiw 4363 if(rst_check>0):
313 :     x+=" C:"+str( rst_terrible)+"|"+str(rst_cnt)
314 : cchiw 4252 if(rst_terrible>0):
315 :     x+=" D:"+str( rst_terrible)+"|"+str(rst_cnt)
316 :     if(rst_compile>0):
317 :     x+=" did not run :"+str( rst_compile)+"|"+str(rst_total)
318 :     x+= " ran: "+str(rst_cnt)+"|" +str(rst_total)+" cumulative: "+str(rst_cumulative)
319 : cchiw 4429 #x+=writeCumulativeS()
320 : cchiw 4252 x+="\n***************************************************\n"
321 :     writeall(x)
322 :     writesummary(x)
323 :    
324 :    
325 :     def writeResults_inner(opr_inner):
326 :     y = Title_inner(opr_inner)
327 :     write_results(y)
328 :     writeCumulative()
329 :    
330 :     def writeResults_outer(opr_inner, opr_outer):
331 :     y = Title_outer(opr_inner, opr_outer)
332 :     write_results(y)
333 :     writeCumulative()
334 :    
335 : cchiw 4210 ################################################## iterating ###############################################
336 : cchiw 4252 def iter_num(opr_inner, opr_outer, n_num, t_ty2):
337 : cchiw 4268 print "inside iter num"
338 : cchiw 4252 for t_num in range(n_num):
339 :     embed_base_specific_ex(opr_inner, opr_outer, t_num, t_ty2)
340 :    
341 :     #iterates over extra type and ex_num type
342 :     def embed_base_iter_ty2(opr_inner, opr_outer):
343 : cchiw 4268 print "inside embed base iter -ty 2 "
344 : cchiw 4321 ex_outer = oprToEx(opr_inner, args_types)
345 : cchiw 4252 n_num = len(ex_outer.tys)
346 : cchiw 4268 print(" "+str(opr_inner.name)+"-"+str(opr_outer.name)+" tys length:" +str(n_num))
347 : cchiw 4252 if(needextratype(opr_inner, opr_outer)):
348 : cchiw 4308 (n_ty2, _) = get_extra(0) # use all field types as extra types
349 :    
350 : cchiw 4252 for t_ty2 in range(n_ty2): #extra type
351 : cchiw 4268 print "as extra type using ", t_ty2
352 : cchiw 4252 iter_num(opr_inner, opr_outer, n_num, t_ty2)
353 : cchiw 4210 else:
354 : cchiw 4252 iter_num(opr_inner, opr_outer, n_num, None)
355 : cchiw 4230 return
356 : cchiw 4210
357 : cchiw 4243 #iterating ex_outer from 0...l
358 : cchiw 4252 # iterate over outer operator and extra type
359 :     def embed_base_iter_outer2(opr_inner, t_num):
360 : cchiw 4243 # print "\nembed_base_iter_outer: ex_opr",ex_opr
361 : cchiw 4252 n_outer = getN()
362 : cchiw 4243 #writeall(y)
363 :     #writesummary(y)
364 :     #have ex_opr iterating over ex_outer
365 :     global rst_cnt
366 :     rst_cnt = 0
367 :     global rst_total
368 :     rst_total = 0
369 :     global rst_compile
370 :     rst_compile = 0
371 :     global rst_good
372 :     rst_good = 0
373 :     global rst_eh
374 :     rst_eh = 0
375 : cchiw 4363 global rst_check
376 :     rst_check = 0
377 : cchiw 4243 global rst_terrible
378 :     rst_terrible = 0
379 : cchiw 4252 for t_outer in range(n_outer):
380 :     opr_outer = id_toOpr(t_outer)
381 :     writeTitle_outer(opr_inner, opr_outer)
382 :     if(needextratype(opr_inner, opr_outer)):
383 : cchiw 4308 # use all field types as extra types
384 : cchiw 4334 (n_ty2, _) = get_extra(0)
385 : cchiw 4252 for t_ty2 in range(n_ty2): #extra type
386 :     embed_base_specific_ex(opr_inner, opr_outer, t_num, t_ty2)
387 : cchiw 4243 else:
388 : cchiw 4252 embed_base_specific_ex(opr_inner, opr_outer, t_num, None)
389 :     writeResults_outer(opr_inner, opr_outer)
390 : cchiw 4243 return
391 : cchiw 4275 def embed_base_iter_ty2_wihty1(opr_inner, opr_outer, t_num):
392 :    
393 : cchiw 4321 ex_outer = oprToEx(opr_inner, args_types)
394 : cchiw 4275
395 :     if(needextratype(opr_inner, opr_outer)):
396 : cchiw 4308 # use all field types as extra types
397 : cchiw 4334 (n_ty2, _) = get_extra(0)
398 : cchiw 4275 for t_ty2 in range(n_ty2): #extra type
399 :    
400 :     print "as extra type using ", t_ty2
401 :    
402 :     embed_base_specific_ex(opr_inner, opr_outer, t_num, t_ty2)
403 :    
404 :     else:
405 :    
406 :     embed_base_specific_ex(opr_inner, opr_outer, t_num, None)
407 :    
408 :     return
409 : cchiw 4243
410 : cchiw 4212 #iterating ex_outer from 0...length(potential outer_operators)
411 : cchiw 4252 def embed_base_iter_outer(opr_inner):
412 :     writeTitle_inner(opr_inner)
413 : cchiw 4210 #have ex_opr iterating over ex_outer
414 : cchiw 4268 n_outer = getN()
415 : cchiw 4252 for t_outer in range(n_outer):
416 : cchiw 4268
417 : cchiw 4212 global rst_cnt
418 :     rst_cnt = 0
419 :     global rst_total
420 :     rst_total = 0
421 :     global rst_compile
422 :     rst_compile = 0
423 :     global rst_good
424 :     rst_good = 0
425 :     global rst_eh
426 :     rst_eh = 0
427 : cchiw 4363 global rst_check
428 :     rst_check = 0
429 : cchiw 4212 global rst_terrible
430 :     rst_terrible = 0
431 : cchiw 4252 opr_outer = id_toOpr(t_outer)
432 :     writeTitle_outer(opr_inner, opr_outer)
433 :     embed_base_iter_ty2(opr_inner, opr_outer)
434 :     writeResults_outer(opr_inner, opr_outer)
435 : cchiw 4212 return
436 : cchiw 3939
437 : cchiw 4212 #run all possible examples from 0...n
438 : cchiw 4252 def embed2_iter_inner():
439 :     n_opr = getN()
440 :     for t_opr in range(n_opr):
441 :     embed_base_iter_outer(id_toOpr(t_opr))
442 : cchiw 4212 return
443 : cchiw 3939
444 : cchiw 4411
445 :     #specify outer operator
446 :     def embed2_iter_inner_gotouter(opr_outer):
447 :     n_opr = getN()
448 :     global rst_total
449 :     rst_total = 0
450 :     #iterate over inner operator
451 :     for t_opr in range(n_opr):
452 :     global rst_cnt
453 :     rst_cnt = 0
454 :     global rst_compile
455 :     rst_compile = 0
456 :     global rst_good
457 :     rst_good = 0
458 :     global rst_eh
459 :     rst_eh = 0
460 :     global rst_check
461 :     rst_check = 0
462 :     global rst_terrible
463 :     rst_terrible = 0
464 :     opr_inner = id_toOpr(t_opr)
465 :     writeTitle_outer(opr_inner, opr_outer)
466 :     embed_base_iter_ty2(opr_inner, opr_outer)
467 :     writeResults_outer(opr_inner, opr_outer)
468 :     return
469 :    
470 :    
471 : cchiw 4210 #run all examples for a specific operator
472 : cchiw 4252 def single_all_ops(opr_inner):
473 : cchiw 4321 ex = oprToEx(opr_inner, args_types)
474 : cchiw 4252
475 :     n_num = len(ex.tys)
476 :     if (n_num==0):
477 : cchiw 4212 return
478 : cchiw 4252 writeTitle_inner(opr_inner)
479 : cchiw 4230 global rst_cnt
480 :     rst_cnt = 0
481 :     global rst_compile
482 :     rst_compile = 0
483 :     global rst_good
484 :     rst_good = 0
485 :     global rst_eh
486 :     rst_eh = 0
487 :     global rst_terrible
488 :     rst_terrible = 0
489 : cchiw 4363 global rst_check
490 :     rst_check= 0
491 : cchiw 4252 for t_num in range(n_num):
492 :     single_specific_ex(opr_inner, t_num)
493 : cchiw 4212 return
494 : cchiw 4210
495 :     ##################################################################################################
496 :     ##################################################################################################
497 : cchiw 4250 if (layer==0):
498 :     #does nothing
499 :     print "******************************************"
500 :     print "List of commands"
501 :     print "*** single layered program"
502 :     print "Ex. (A+B). operation (+) has id \"i\" and types to arguments ([A,B]) are specificed with \"t\""
503 :     print "cmd: 1 2 i t \t single program with specific operator(i) and argument(s) (t)"
504 :     print "cmd: 1 1 i \t specifies operator(i) and iterates over applicable argument types"
505 :     print "cmd: 1 0 \t iterates over all possibilities"
506 :     print "*** double layered programs -(A+B)"
507 :     print "Ex. -(A+B). outer operator(-) is specified with \"o\""
508 :     print "cmd: 2 3 i o m \t specifies inner operator(i), outer operator(o) and args (t)"
509 :     print "cmd: 2 2 i o \t specifies inner operator(i), outer operator(o) and iterates over args"
510 :     print "cmd: 2 20 i m \t specifies inner operator(i), args(t) and iterates over outer operations (o)"
511 :     print "cmd: 2 1 i \t specifies inner operator(i) and iterates over outer operator, and args"
512 :     print "cmd: 2 0 \t iterate over all possibilities"
513 :    
514 : cchiw 4252 print "ex. cmd: 2 2 1 3 => normalize (-F)"
515 :     print "ex. cmd: 2 2 24 3 => normalize(F0+F1)"
516 :     print "ex. cmd: 2 2 _ n => n must be less than <24"
517 :     print "ex. cmd: 3 2 1 24 => (-F)+F1"
518 :     print "ex. cmd: 3 2 25 24 => (F-F)+F"
519 : cchiw 4250 print "******************************************"
520 :     elif (layer==1):
521 : cchiw 4210 if(args==0):
522 :     # iterate over single layer
523 :     rtn = []
524 : cchiw 4252 for t_inner in range(getN()):
525 :     opr_inner = id_toOpr(t_inner)
526 :     writeTitle_inner(opr_inner)
527 :     single_all_ops(opr_inner)
528 :     writeResults_inner(opr_inner)
529 :     writeCumulative()
530 : cchiw 4210 elif (args==1):
531 :     # iterate over single layer
532 : cchiw 4338 t_inner= int(sys.argv[4])
533 : cchiw 4252 opr_inner = id_toOpr(t_inner)
534 :     writeTitle_inner(opr_inner)
535 :     single_all_ops(opr_inner)
536 :     writeResults_inner(opr_inner)
537 : cchiw 4308 elif (args==2):
538 : cchiw 4338 t_inner= int(sys.argv[4])
539 : cchiw 4308 opr_inner = id_toOpr(t_inner)
540 : cchiw 4338 t_num= int(sys.argv[5])
541 : cchiw 4308 single_specific_ex(opr_inner,t_num)
542 :     writeResults_inner(opr_inner)
543 : cchiw 4210 elif (layer==2):
544 :     if(args==0):
545 :     #run all the programs
546 : cchiw 4252 embed2_iter_inner()
547 :     writeCumulative()
548 : cchiw 4210 elif(args==1):
549 :     # iterate over double layer with unary operator
550 : cchiw 4338 t_inner = int(sys.argv[4])
551 : cchiw 4252 opr_inner = id_toOpr(t_inner)
552 :     embed_base_iter_outer(opr_inner)
553 :     writeCumulative()
554 : cchiw 4411 elif(args==5):
555 :     t_outer = int(sys.argv[4])
556 :     opr_outer = id_toOpr(t_outer)
557 :     writeTitle_outer2(opr_outer)
558 :     embed2_iter_inner_gotouter(opr_outer)
559 :     writeCumulative()
560 : cchiw 4230 elif (args==2):
561 : cchiw 4338 t_inner = int(sys.argv[4])
562 :     t_outer = int(sys.argv[5])#outer operator
563 : cchiw 4252 opr_outer = id_toOpr(t_outer)
564 :     opr_inner = id_toOpr(t_inner)
565 :     writeTitle_outer(opr_inner, opr_outer)
566 : cchiw 4268 print "about to call embed base iter ty 2 "
567 : cchiw 4252 embed_base_iter_ty2(opr_inner, opr_outer)
568 :     writeResults_outer(opr_inner, opr_outer)
569 : cchiw 4243 elif (args==20):
570 : cchiw 4338 t_inner = int(sys.argv[4])
571 :     t_num = int(sys.argv[5])#outer binary operator
572 : cchiw 4252 opr_inner = id_toOpr(t_inner)
573 :     writeTitle_inner(opr_inner)
574 :     embed_base_iter_outer2(opr_inner, t_num)
575 :     writeResults_inner(opr_inner)
576 : cchiw 4210 elif(args==3):
577 :     # run a specific iterate over double layer with unary operator
578 : cchiw 4338 t_inner = int(sys.argv[4])
579 :     t_outer= int(sys.argv[5])
580 :     t_num = int(sys.argv[6])
581 : cchiw 4252 t_ty2 = None
582 :     opr_outer = id_toOpr(t_outer)
583 :     opr_inner = id_toOpr(t_inner)
584 :     writeTitle_outer(opr_inner, opr_outer)
585 : cchiw 4275 embed_base_iter_ty2_wihty1(opr_inner, opr_outer, t_num)
586 : cchiw 4252 writeResults_outer(opr_inner, opr_outer)
587 : cchiw 4352 elif(args==4):
588 :     # run a specific iterate over double layer with unary operator
589 :     t_inner = int(sys.argv[4])
590 :     t_outer= int(sys.argv[5])
591 :     t_num = int(sys.argv[6])
592 :     t_ty2 = int(sys.argv[7])
593 :     opr_outer = id_toOpr(t_outer)
594 :     opr_inner = id_toOpr(t_inner)
595 :     writeTitle_outer(opr_inner, opr_outer)
596 :     embed_base_specific_ex(opr_inner, opr_outer, t_num, t_ty2)
597 :     writeResults_outer(opr_inner, opr_outer)
598 :    
599 : cchiw 3939 else:
600 :     raise "unsupported"
601 : cchiw 4236
602 :     clean()

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