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

SCM Repository

[diderot] Diff of /branches/charisee_dev/src/compiler/high-to-mid/ProbeEin.sml
ViewVC logotype

Diff of /branches/charisee_dev/src/compiler/high-to-mid/ProbeEin.sml

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

revision 3278, Tue Oct 13 03:59:10 2015 UTC revision 3307, Fri Oct 16 19:41:04 2015 UTC
# Line 39  Line 39 
39    
40      val testing=0      val testing=0
41      val testlift=0      val testlift=0
42        val detflag =true
43    
44    
45      val cnt = ref 0      val cnt = ref 0
46      fun transformToIndexSpace e=T.transformToIndexSpace e      fun transformToIndexSpace e=T.transformToIndexSpace e
# Line 316  Line 318 
318                  codeAll@[code0]                  codeAll@[code0]
319              end              end
320    
321          fun rewriteBody b=(case b          fun rewriteBody b=(case (detflag,b)
322              of E.Probe(E.Conv(_,[E.C _ ,E.V 0],_,[]),pos)              of (true,E.Probe(E.Conv(_,[E.C _ ,E.V 0],_,[]),pos))
323                  => liftFieldMat (1,b)                  => liftFieldMat (1,b)
324              | E.Probe(E.Conv(_,[E.C _ ,E.V 0],_,[E.V 1]),pos)              | (true,E.Probe(E.Conv(_,[E.C _ ,E.V 0],_,[E.V 1]),pos))
325                  => liftFieldMat (2,b)                  => liftFieldMat (2,b)
326              | E.Probe(E.Conv(_,[E.C _ ,E.V 0],_,[E.V 1,E.V 2] ),pos)              | (true,E.Probe(E.Conv(_,[E.C _ ,E.V 0],_,[E.V 1,E.V 2] ),pos))
327                  => liftFieldMat (3,b)                  => liftFieldMat (3,b)
328              | E.Probe(E.Conv(_,_,_,[]),_)              | (_,E.Probe(E.Conv(_,_,_,[]),_))
329                  => replaceProbe(0,e,b,[])                  => replaceProbe(0,e,b,[])
330              | E.Probe(E.Conv (_,alpha,_,dx),_)              | (_,E.Probe(E.Conv (_,alpha,_,dx),_))
331                  => checkConst(dx,(0,e,b,[])) (*scans dx for contant*)                  => checkConst(dx,(0,e,b,[])) (*scans dx for contant*)
332              | E.Sum(sx,p as E.Probe(E.Conv(_,_,_,[]),_))              | (_,E.Sum(sx,p as E.Probe(E.Conv(_,_,_,[]),_)))
333                  => replaceProbe(0,e,p, sx)  (*no dx*)                  => replaceProbe(0,e,p, sx)  (*no dx*)
334              | E.Sum(sx,p as E.Probe(E.Conv(_,[],_,dx),_))              | (_,E.Sum(sx,p as E.Probe(E.Conv(_,[],_,dx),_)))
335                  => checkConst(dx,(0,e,p,sx)) (*scalar field*)                  => checkConst(dx,(0,e,p,sx)) (*scalar field*)
336              | E.Sum(sx,E.Probe p)              | (_,E.Sum(sx,E.Probe p))
337                  => replaceProbe(0,e,E.Probe p, sx)                  => replaceProbe(0,e,E.Probe p, sx)
338              | E.Sum(sx,E.Prod[eps,E.Probe p])              | (_,E.Sum(sx,E.Prod[eps,E.Probe p]))
339                  => replaceProbe(0,e,E.Probe p,sx)                  => replaceProbe(0,e,E.Probe p,sx)
340              | _ => [e]              | (_,_) => [e]
341              (* end case *))              (* end case *))
342    
343          val (fieldset,var) = einSet.rtnVar(fieldset,y,DstIL.EINAPP(ein,args))          val (fieldset,var) = einSet.rtnVar(fieldset,y,DstIL.EINAPP(ein,args))

Legend:
Removed from v.3278  
changed lines
  Added in v.3307

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