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

SCM Repository

[diderot] Diff of /branches/charisee/src/compiler/high-il/move-sums.sml
ViewVC logotype

Diff of /branches/charisee/src/compiler/high-il/move-sums.sml

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

revision 2869, Thu Feb 12 16:14:22 2015 UTC revision 2870, Wed Feb 25 21:47:43 2015 UTC
# Line 31  Line 31 
31              | E.Img _                   => raise Fail"Img used pre expansion"              | E.Img _                   => raise Fail"Img used pre expansion"
32              | E.Value _                 => NONE              | E.Value _                 => NONE
33              | E.Const _                 => NONE              | E.Const _                 => NONE
34                | Ein.ConstR _          => NONE
35              | E.Tensor(id,[])           => NONE              | E.Tensor(id,[])           => NONE
36              | E.Conv(v,[],h,[])         => NONE              | E.Conv(v,[],h,[])         => NONE
37              | E.Conv(_ , alpha, _ , dx) => findIndex(c, alpha@dx)              | E.Conv(_ , alpha, _ , dx) => findIndex(c, alpha@dx)
# Line 45  Line 46 
46              | E.Neg a                   => foundSx(c,a)              | E.Neg a                   => foundSx(c,a)
47              | E.Lift a                  => foundSx(c,a)              | E.Lift a                  => foundSx(c,a)
48              | E.Sqrt a                  => foundSx(c,a)              | E.Sqrt a                  => foundSx(c,a)
49                | E.PowInt(a,n1)                  => foundSx(c,a)
50                | E.PowReal( a,n1)                  => foundSx(c,a)
51              | E.Sum(_,a)                => foundSx(c,a)              | E.Sum(_,a)                => foundSx(c,a)
52              | E.Apply(e1,e2)            => sort([e1,e2])              | E.Apply(e1,e2)            => sort([e1,e2])
53              | E.Sub(e1,e2)              => sort([e1,e2])              | E.Sub(e1,e2)              => sort([e1,e2])
# Line 121  Line 124 
124  fun cleanSummation (Ein.EIN{params, index, body}) = let  fun cleanSummation (Ein.EIN{params, index, body}) = let
125      fun rewriteBody body =(case body      fun rewriteBody body =(case body
126          of E.Const _      => body          of E.Const _      => body
127            | Ein.ConstR _          => body
128          | E.Tensor _      => body          | E.Tensor _      => body
129          | E.Field _       => body          | E.Field _       => body
130          | E.Delta _       => body          | E.Delta _       => body
# Line 140  Line 144 
144          | E.Probe(e1,e2)  => E.Probe(e1, rewriteBody e2)          | E.Probe(e1,e2)  => E.Probe(e1, rewriteBody e2)
145          | E.Lift e        => E.Lift(rewriteBody e)          | E.Lift e        => E.Lift(rewriteBody e)
146          | E.Sqrt e        => E.Sqrt(rewriteBody e)          | E.Sqrt e        => E.Sqrt(rewriteBody e)
147     | E.PowInt(e,n1)        => E.PowInt(rewriteBody e,n1)
148     | E.PowReal(e,n1)        => E.PowReal(rewriteBody e,n1)
149          | E.Sum (sx,E.Prod[e]) => shiftSum(sx,[e])          | E.Sum (sx,E.Prod[e]) => shiftSum(sx,[e])
150          | E.Sum(sx,E.Prod e)   => shiftSum(sx,e)          | E.Sum(sx,E.Prod e)   => shiftSum(sx,e)
151          | E.Sum (sx,e)         => shiftSum(sx,[e])          | E.Sum (sx,e)         => shiftSum(sx,[e])

Legend:
Removed from v.2869  
changed lines
  Added in v.2870

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