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

SCM Repository

[diderot] Diff of /branches/charisee_dev/src/compiler/mid-to-low/sca-to-low-set.sml
ViewVC logotype

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

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

revision 3394, Tue Nov 10 17:42:19 2015 UTC revision 3395, Tue Nov 10 18:23:07 2015 UTC
# Line 193  Line 193 
193                  | E.Neg e               => negCheck0(gen(setG, e))                  | E.Neg e               => negCheck0(gen(setG, e))
194                  | E.PowInt(e,n)         =>  mkPowInt(gen(setG,e),n)                  | E.PowInt(e,n)         =>  mkPowInt(gen(setG,e),n)
195                  | E.PowReal(e,n)        => mkPowRat(gen(setG,e), n)                  | E.PowReal(e,n)        => mkPowRat(gen(setG,e), n)
196                  | E.Sub (e1,e2)         => subCheck0(gen(setG,e1),gen(setG, e2))                  | E.Sub (e1,e2)         => let
197                        val (setA,vA,A)=gen(setG,e1)
198                        val (setB,vB,B)=gen(setA,e2)
199                        in subCheck0((setB,vA,A),(setB,vB,B)) end
200                  | E.Add e               => iterList(AddcheckO(setG,e,[],[]),DstOp.addSca)                  | E.Add e               => iterList(AddcheckO(setG,e,[],[]),DstOp.addSca)
201                  | E.Prod e              =>let                  | E.Prod e              =>let
202                      val _ ="\n prod"                      val _ ="\n prod"
# Line 201  Line 204 
204                      end                      end
205                  | E.Div(e1 as E.Tensor(_,[_]),e2 as E.Tensor(_,[]))=>                  | E.Div(e1 as E.Tensor(_,[_]),e2 as E.Tensor(_,[]))=>
206                          gen (setG,E.Prod[E.Div(E.Const 1, e2),e1])                          gen (setG,E.Prod[E.Div(E.Const 1, e2),e1])
207                  | E.Div(e1,e2)          => divCheck0(gen(setG, e1), gen(setG, e2))                  | E.Div(e1,e2)          => (*divCheck0(gen(setG, e1), gen(setG, e2))*)
208    let
209    val (setA,vA,A)=gen(setG,e1)
210    val (setB,vB,B)=gen(setA,e2)
211    in divCheck0((setB,vA,A),(setB,vB,B)) end
212                  | E.Sum(x,E.Prod(E.Img(Vid,_,_)::E.Krn(Hid,_,_)::_))                  | E.Sum(x,E.Prod(E.Img(Vid,_,_)::E.Krn(Hid,_,_)::_))
213                                          => (*let                                          => evalField(setG,!mapp,(body,info))
                         val (vB,B)=evalField(!mapp,(body,info))  
                         in (setG,vB,B) end*)  
 evalField(setG,!mapp,(body,info))  
214                  | E.Sum(sumx, e)        => iterList(Sumcheck(setG,sumx,e),DstOp.addSca)                  | E.Sum(sumx, e)        => iterList(Sumcheck(setG,sumx,e),DstOp.addSca)
215                  | _                     => raise Fail"unsupported ein-exp "                  | _                     => raise Fail"unsupported ein-exp "
216                  (*end case*))                  (*end case*))

Legend:
Removed from v.3394  
changed lines
  Added in v.3395

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