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 1296, Thu Jun 9 12:42:09 2011 UTC revision 1383, Thu Jun 23 20:24:04 2011 UTC
# Line 219  Line 219 
219                  [field(k, d, dd), tensor[d]] --> Ty.T_Tensor dd                  [field(k, d, dd), tensor[d]] --> Ty.T_Tensor dd
220                end))                end))
221    
222      val op_D = polyVar (N.op_D, all([DK, NK, SK],    (* differentiation of scalar fields *)
223            fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let      val op_D = polyVar (N.op_D, all([DK, NK],
224              fn [Ty.DIFF k, Ty.DIM d] => let
225                val k0 = Ty.DiffVar(k, 0)                val k0 = Ty.DiffVar(k, 0)
226                val km1 = Ty.DiffVar(k, ~1)                val km1 = Ty.DiffVar(k, ~1)
227                val d = Ty.DimVar d                val d = Ty.DimVar d
228                  in
229                    [field(k0, d, Ty.Shape[])]
230                      --> field(km1, d, Ty.Shape[d])
231                  end))
232      (* differetiation of higher-order tensor fields *)
233        val op_Dotimes = polyVar (N.op_Dotimes, all([DK, NK, SK, NK],
234              fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd, Ty.DIM d'] => let
235                  val k0 = Ty.DiffVar(k, 0)
236                  val km1 = Ty.DiffVar(k, ~1)
237                  val d = Ty.DimVar d
238                  val d' = Ty.DimVar d'
239                val dd = Ty.ShapeVar dd                val dd = Ty.ShapeVar dd
240                in                in
241                  [field(k0, d, dd)]                  [field(k0, d, Ty.ShapeExt(dd, d'))]
242                    --> field(km1, d, Ty.ShapeExt(dd, d))                    --> field(km1, d, Ty.ShapeExt(Ty.ShapeExt(dd, d'), d))
243                end))                end))
244    
245      val op_norm = polyVar (N.op_norm, all([SK],      val op_norm = polyVar (N.op_norm, all([SK],

Legend:
Removed from v.1296  
changed lines
  Added in v.1383

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