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

SCM Repository

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

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

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

trunk/src/basis/basis-vars.sml revision 85, Wed May 26 19:51:10 2010 UTC trunk/src/compiler/basis/basis-vars.sml revision 169, Thu Jul 22 20:07:37 2010 UTC
# 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 171  Line 179 
179                      --> field(k, d, dd)                      --> field(k, d, dd)
180                  end))                  end))
181    
182      val fn_cos = polyVar (N.fn_cos, ty([Ty.realTy] --> Ty.realTy))      val fn_cos = monoVar (N.fn_cos, [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 193  Line 205 
205                    [Ty.T_String] --> Ty.T_Image{dim=d, shape=dd}                    [Ty.T_String] --> Ty.T_Image{dim=d, shape=dd}
206                  end))                  end))
207    
208        val fn_max = monoVar (N.fn_max, [Ty.realTy, Ty.realTy] --> Ty.realTy)
209        val fn_min = monoVar (N.fn_min, [Ty.realTy, Ty.realTy] --> Ty.realTy)
210    
211      val fn_modulate = polyVar (N.fn_modulate, all([NK],      val fn_modulate = polyVar (N.fn_modulate, all([NK],
212              fn [Ty.DIM d] => let              fn [Ty.DIM d] => let
213                  val t = Ty.T_Tensor(Ty.Shape[Ty.DimVar d])                  val t = Ty.T_Tensor(Ty.Shape[Ty.DimVar d])
# Line 200  Line 215 
215                    [t, t] --> t                    [t, t] --> t
216                  end))                  end))
217    
218      val fn_pow = polyVar (N.fn_pow, ty([Ty.realTy, Ty.realTy] --> Ty.realTy))      val fn_pow = monoVar (N.fn_pow, [Ty.realTy, Ty.realTy] --> Ty.realTy)
219    
220  (*      val fn_principleEvec = polyVar (N.fn_principleEvec, all([NK],
221      val fn_principleEvec = Atom.atom "principleEvec"              fn [Ty.DIM d] => let
222  *)                  val d = Ty.DimVar d
223                    in
224                      [tensor[d,d]] --> tensor[d]
225                    end))
226    
227      val fn_sin = polyVar (N.fn_sin, ty([Ty.realTy] --> Ty.realTy))      val fn_sin = monoVar (N.fn_sin, [Ty.realTy] --> Ty.realTy)
228    
229    (* kernels *)    (* kernels *)
230    (* FIXME: we should really get the continuity info from the kernels themselves *)
231      val kn_bspln3 = monoVar (N.kn_bspln3, Ty.T_Kernel(Ty.DiffConst 2))      val kn_bspln3 = monoVar (N.kn_bspln3, Ty.T_Kernel(Ty.DiffConst 2))
232        val kn_bspln5 = monoVar (N.kn_bspln5, Ty.T_Kernel(Ty.DiffConst 4))
233        val kn_ctmr = monoVar (N.kn_ctmr, Ty.T_Kernel(Ty.DiffConst 2))
234      val kn_tent = monoVar (N.kn_tent, Ty.T_Kernel(Ty.DiffConst 0))      val kn_tent = monoVar (N.kn_tent, Ty.T_Kernel(Ty.DiffConst 0))
235    
236    (* internal variables *)    (* internal variables *)

Legend:
Removed from v.85  
changed lines
  Added in v.169

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