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

SCM Repository

[diderot] Diff of /branches/charisee/src/compiler/mid-to-low/gen-ein.sml
ViewVC logotype

Diff of /branches/charisee/src/compiler/mid-to-low/gen-ein.sml

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

revision 2522, Mon Jan 13 18:42:09 2014 UTC revision 2523, Fri Jan 17 19:25:37 2014 UTC
# Line 28  Line 28 
28      | M(a,[0], rest, code)=let      | M(a,[0], rest, code)=let
29          val mapp=a@[0]          val mapp=a@[0]
30          val (vF,code')=nextfn(mapp,args)          val (vF,code')=nextfn(mapp,args)
31          val(vE,E)=genHelper.aaV(DstOp.cons,[vF]@rest)          val(vE,E)=genHelper.aaV(DstOp.cons(DstTy.consTy []),[vF]@rest)
32          in (vE, code'@code@E)          in (vE, code'@code@E)
33          end          end
34      | M(a,[c],rest,code)=let      | M(a,[c],rest,code)=let
# Line 38  Line 38 
38      | M (a,b::c,rest,ccode)=let      | M (a,b::c,rest,ccode)=let
39          fun S(0, rest,code)=let          fun S(0, rest,code)=let
40              val (v',code')=M(a@[0],c,[],[])              val (v',code')=M(a@[0],c,[],[])
41              val(vA,A)=genHelper.aaV(DstOp.cons,[v']@rest)              val(vA,A)=genHelper.aaV(DstOp.cons(DstTy.consTy []),[v']@rest)
42              in (vA, code'@code@A) end              in (vA, code'@code@A) end
43          | S(i, rest, code)= let          | S(i, rest, code)= let
44              val (v',code')=M(a@[i],c,[],[])              val (v',code')=M(a@[i],c,[],[])
# Line 371  Line 371 
371          | E.Prod[E.Tensor(id1, ix1), E.Tensor(id2, [])] =>let          | E.Prod[E.Tensor(id1, ix1), E.Tensor(id2, [])] =>let
372                  val ref x=sx                  val ref x=sx
373                  in handleScVProd(body,(id2,id1,ix1),index,x,args) end                  in handleScVProd(body,(id2,id1,ix1),index,x,args) end
374          | E.Prod[E.Tensor(id1, ix1), E.Tensor(id2, ix2)] =>         (* | E.Prod[E.Tensor(id1, ix1), E.Tensor(id2, ix2)] =>
375                  let                  let
376              val ref x=sx              val ref x=sx
377              in              in
378                  handleProd([(id1,ix1),(id2,ix2)],index,x,args)                  handleProd([(id1,ix1),(id2,ix2)],index,x,args)
379              end              end*)
380          (*| E.Div(E.Tensor _,E.Tensor _ )=>[]*)          (*| E.Div(E.Tensor _,E.Tensor _ )=>[]*)
381    
382          | E.Sum(ss,E.Prod(E.Img im::es))=>let          | E.Sum(ss,E.Prod(E.Img im::es))=>let

Legend:
Removed from v.2522  
changed lines
  Added in v.2523

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