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/sca-to-low.sml
ViewVC logotype

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

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

revision 2922, Tue Mar 3 03:55:09 2015 UTC revision 2923, Tue Mar 3 15:33:44 2015 UTC
# Line 90  Line 90 
90         val (lhs,e,args)=info         val (lhs,e,args)=info
91         val params=Ein.params e         val params=Ein.params e
92         fun gen body=let         fun gen body=let
93    
94              (*addCheck0, removes 0s*)              (*addCheck0, removes 0s*)
95              fun AddcheckO ([],[],[])=let val (vA,A)=intToReal 0 in ([vA],A) end              fun AddcheckO ([],[],[])=let val (vA,A)=intToReal 0 in ([vA],A) end
96                | AddcheckO([],ids,code)=(ids,code)                | AddcheckO([],ids,code)=(ids,code)
# Line 164  Line 165 
165                  | E.Epsilon(i,j,k)      => evalEps3(!mapp,i,j,k)                  | E.Epsilon(i,j,k)      => evalEps3(!mapp,i,j,k)
166                  | E.Eps2(i,j)           => evalEps2(!mapp,i,j)                  | E.Eps2(i,j)           => evalEps2(!mapp,i,j)
167                  | E.Delta(i,j)          => evalDelta(!mapp,i,j)                  | E.Delta(i,j)          => evalDelta(!mapp,i,j)
168                  | E.Tensor(id,ix)       => indexTensor(!mapp,(lhs,params,args,id,ix,realTy))                  | E.Tensor(id,ix)       => let
169    
170                        val x=indexTensor(!mapp,(lhs,params,args,id,ix,realTy))
171    
172                        in x end
173                  | E.Neg e               => negCheck0(lhs,gen e)                  | E.Neg e               => negCheck0(lhs,gen e)
174                  | E.Sub (e1,e2)         => subCheck0(lhs,gen e1,gen e2)                  | E.Sub (e1,e2)         => subCheck0(lhs,gen e1,gen e2)
175                  | E.Add e               => iterList(AddcheckO(e,[],[]),DstOp.addSca)                  | E.Add e               => iterList(AddcheckO(e,[],[]),DstOp.addSca)
# Line 179  Line 184 
184                  | E.PowReal(e,n)=> mkPowRat(gen e, n)                  | E.PowReal(e,n)=> mkPowRat(gen e, n)
185                  (*end case*))                  (*end case*))
186                  end                  end
187              val rtn= gen(E.body e)
188    
189           in           in
190              gen(E.body e)              rtn
191           end           end
192    
193  end (* local *)  end (* local *)

Legend:
Removed from v.2922  
changed lines
  Added in v.2923

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