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

SCM Repository

[diderot] Diff of /branches/charisee/src/compiler/basis/basis-vars.sml
ViewVC logotype

Diff of /branches/charisee/src/compiler/basis/basis-vars.sml

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

revision 83, Wed May 26 18:50:44 2010 UTC revision 103, Tue Jun 1 16:04:04 2010 UTC
# Line 148  Line 148 
148                val d = Ty.DimVar d                val d = Ty.DimVar d
149                val dd = Ty.ShapeVar dd                val dd = Ty.ShapeVar dd
150                in                in
151                  [field(k0, d, dd), tensor[d]]                  [field(k0, d, dd)]
152                    --> field(km1, d, Ty.ShapeExt(dd, d))                    --> field(km1, d, Ty.ShapeExt(dd, d))
153                end))                end))
154    
# Line 157  Line 157 
157    
158      val op_not = monoVar (N.op_not, [Ty.T_Bool] --> Ty.T_Bool)      val op_not = monoVar (N.op_not, [Ty.T_Bool] --> Ty.T_Bool)
159    
160        val op_subscript = polyVar (N.op_subscript, all([SK, NK],
161              fn [Ty.SHAPE dd, Ty.DIM d] => let
162                  val dd = Ty.ShapeVar dd
163                  val d = Ty.DimVar d
164                  in
165                    [Ty.T_Tensor(Ty.ShapeExt(dd, d)), Ty.T_Int]
166                      --> Ty.T_Tensor dd
167                  end))
168    
169    (* functions *)    (* functions *)
170      val fn_CL = polyVar (N.fn_CL, ty([tensor[N3, N3]] --> Ty.vec3Ty))      val fn_CL = polyVar (N.fn_CL, ty([tensor[N3, N3]] --> Ty.realTy))
171    
172      val fn_convolve = polyVar (N.fn_convolve, all([DK, NK, SK],      val fn_convolve = polyVar (N.fn_convolve, all([DK, NK, SK],
173              fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let              fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let
# Line 173  Line 181 
181    
182      val fn_cos = polyVar (N.fn_cos, ty([Ty.realTy] --> Ty.realTy))      val fn_cos = polyVar (N.fn_cos, ty([Ty.realTy] --> Ty.realTy))
183    
184      val fn_dot = polyVar (N.fn_dot, allNK(fn tv => [tensor[Ty.DimVar tv]] --> tensor[Ty.DimVar tv]))      val fn_dot = polyVar (N.fn_dot, allNK(fn tv => let
185              val t = tensor[Ty.DimVar tv]
186              in
187                [t, t] --> Ty.realTy
188              end))
189    
190      val fn_inside = polyVar (N.fn_inside,       all([DK, NK, SK],      val fn_inside = polyVar (N.fn_inside,       all([DK, NK, SK],
191              fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let              fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let
# Line 202  Line 214 
214    
215      val fn_pow = polyVar (N.fn_pow, ty([Ty.realTy, Ty.realTy] --> Ty.realTy))      val fn_pow = polyVar (N.fn_pow, ty([Ty.realTy, Ty.realTy] --> Ty.realTy))
216    
217  (*      val fn_principleEvec = polyVar (N.fn_principleEvec, all([NK],
218      val fn_principleEvec = Atom.atom "principleEvec"              fn [Ty.DIM d] => let
219  *)                  val d = Ty.DimVar d
220                    in
221                      [tensor[d,d]] --> tensor[d]
222                    end))
223    
224      val fn_sin = polyVar (N.fn_sin, ty([Ty.realTy] --> Ty.realTy))      val fn_sin = polyVar (N.fn_sin, ty([Ty.realTy] --> Ty.realTy))
225    

Legend:
Removed from v.83  
changed lines
  Added in v.103

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