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

SCM Repository

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

Diff of /branches/vis15/src/compiler/mid-to-low/ein-to-scalar.sml

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

revision 3745, Tue Apr 12 10:40:01 2016 UTC revision 3746, Tue Apr 12 11:49:43 2016 UTC
# Line 17  Line 17 
17      val expand : {      val expand : {
18              avail : AvailRHS.t,                 (* the generated LowIR assignments *)              avail : AvailRHS.t,                 (* the generated LowIR assignments *)
19              mapp : int IntRedBlackMap.map,      (* mapping from deBruijn indices to argument IDs *)              mapp : int IntRedBlackMap.map,      (* mapping from deBruijn indices to argument IDs *)
             params : Ein.param_kind list,       (* formal parameters of Ein operator *)  
20              body : Ein.ein_exp,                 (* the EIN operator body *)              body : Ein.ein_exp,                 (* the EIN operator body *)
21              lowArgs : LowIR.var list            (* corresponding LowIR arguments *)              lowArgs : LowIR.var list            (* corresponding LowIR arguments *)
22            } -> LowIR.var            } -> LowIR.var
# Line 37  Line 36 
36              | NONE => raise Fail(concat["mapIndex(_, V ", Int.toString id, "): out of bounds"])              | NONE => raise Fail(concat["mapIndex(_, V ", Int.toString id, "): out of bounds"])
37            (* end case *))            (* end case *))
38    
39  (* FIXME: we probably do not need the params (depending on how we implement FieldToLow.expand *)      fun expand {avail, mapp, body, lowArgs} = let
     fun expand {avail, mapp, params, body, lowArgs} = let  
40            fun gen (mapp, body) = let            fun gen (mapp, body) = let
41                (*********sumexpression ********)                (*********sumexpression ********)
42                  fun tb n =  List.tabulate (n, fn e => e)                  fun tb n =  List.tabulate (n, fn e => e)
# Line 86  Line 84 
84                          in                          in
85                            case op1                            case op1
86                             of E.Neg => Mk.realNeg (avail, arg)                             of E.Neg => Mk.realNeg (avail, arg)
87                                | E.Sqrt => Mk.realSqrt (avail, arg)
88                                | E.Cosine => Mk.realCos (avail, arg)
89                                | E.ArcCosine => Mk.realArcCos (avail, arg)
90                                | E.Sine => Mk.realSin (avail, arg)
91                                | E.ArcSine => Mk.realArcSin (avail, arg)
92                                | E.Tangent => Mk.realTan (avail, arg)
93                                | E.ArcTangent => Mk.realArcTan (avail, arg)
94                              | _ => raise Fail "FIXME: unimplemented"                              | _ => raise Fail "FIXME: unimplemented"
95  (*  (*
96                              | E.Exp                              | E.Exp
                             | E.Sqrt  
                             | E.Cosine  
                             | E.ArcCosine  
                             | E.Sine  
                             | E.ArcSine  
                             | E.Tangent  
                             | E.ArcTangent  
97                              | E.PowInt of int                              | E.PowInt of int
98                              | E.PowReal of Rational.t                              | E.PowReal of Rational.t
99                              | E.PowEmb of sumrange list * int                              | E.PowEmb of sumrange list * int

Legend:
Removed from v.3745  
changed lines
  Added in v.3746

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