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

SCM Repository

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

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

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

revision 3113, Thu Mar 19 08:40:49 2015 UTC revision 3114, Thu Mar 19 08:41:24 2015 UTC
# Line 89  Line 89 
89              end))              end))
90      val add_ff = polyVar(N.op_add, all([DK,NK,SK],      val add_ff = polyVar(N.op_add, all([DK,NK,SK],
91            fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let            fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let
92              val t = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.ShapeVar dd}              val f = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.ShapeVar dd}
93              in              in
94                [t, t] --> t                [f, f] --> f
95              end))              end))
96      val add_fr = polyVar(N.op_add, all([DK,NK], (* field + scalar *)      val add_fr = polyVar(N.op_add, all([DK,NK], (* field + scalar *)
97            fn [Ty.DIFF k, Ty.DIM d] => let            fn [Ty.DIFF k, Ty.DIM d] => let
98              val t = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.Shape[]}              val f = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.Shape[]}
99              in              in
100                [t, Ty.realTy] --> t                [f, Ty.realTy] --> f
101              end))              end))
102      val add_rf = polyVar(N.op_add, all([DK,NK], (* scalar + field *)      val add_rf = polyVar(N.op_add, all([DK,NK], (* scalar + field *)
103            fn [Ty.DIFF k, Ty.DIM d] => let            fn [Ty.DIFF k, Ty.DIM d] => let
104              val t = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.Shape[]}              val f = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.Shape[]}
105              in              in
106                [Ty.realTy, t] --> t                [Ty.realTy, f] --> f
107              end))              end))
108    
109      val sub_ii = monoVar(N.op_sub, [Ty.T_Int, Ty.T_Int] --> Ty.T_Int)      val sub_ii = monoVar(N.op_sub, [Ty.T_Int, Ty.T_Int] --> Ty.T_Int)
# Line 114  Line 114 
114              end))              end))
115      val sub_ff = polyVar(N.op_sub, all([DK,NK,SK],      val sub_ff = polyVar(N.op_sub, all([DK,NK,SK],
116            fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let            fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd] => let
117              val t = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.ShapeVar dd}              val f = Ty.T_Field{diff = Ty.DiffVar(k, 0), dim = Ty.DimVar d, shape = Ty.ShapeVar dd}
118              in              in
119                [t, t] --> t                [f, f] --> f
120              end))              end))
121      val sub_fr = polyVar(N.op_sub, all([DK,NK], (* field - scalar *)      val sub_fr = polyVar(N.op_sub, all([DK,NK], (* field - scalar *)
122            fn [Ty.DIFF k, Ty.DIM d] => let            fn [Ty.DIFF k, Ty.DIM d] => let
# Line 230  Line 230 
230      val neq_ss = monoVar(N.op_neq, [Ty.T_String, Ty.T_String] --> Ty.T_Bool)      val neq_ss = monoVar(N.op_neq, [Ty.T_String, Ty.T_String] --> Ty.T_Bool)
231      val neq_rr = monoVar(N.op_neq, [Ty.realTy, Ty.realTy] --> Ty.T_Bool)      val neq_rr = monoVar(N.op_neq, [Ty.realTy, Ty.realTy] --> Ty.T_Bool)
232    
   
233      val neg_i = monoVar(N.op_neg, [Ty.T_Int] --> Ty.T_Int)      val neg_i = monoVar(N.op_neg, [Ty.T_Int] --> Ty.T_Int)
234      val neg_t = polyVar(N.op_neg, all([SK],      val neg_t = polyVar(N.op_neg, all([SK],
235            fn [Ty.SHAPE dd] => let            fn [Ty.SHAPE dd] => let
# Line 310  Line 309 
309                  [field(k0, d, Ty.Shape[])]                  [field(k0, d, Ty.Shape[])]
310                    --> field(km1, d, Ty.Shape[d])                    --> field(km1, d, Ty.Shape[d])
311                end))                end))
312    (* differetiation of higher-order tensor fields *)  
313      (* differentiation of higher-order tensor fields *)
314      val op_Dotimes = polyVar (N.op_Dotimes, all([DK, NK, SK, NK],      val op_Dotimes = polyVar (N.op_Dotimes, all([DK, NK, SK, NK],
315            fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd, Ty.DIM d'] => let            fn [Ty.DIFF k, Ty.DIM d, Ty.SHAPE dd, Ty.DIM d'] => let
316                val k0 = Ty.DiffVar(k, 0)                val k0 = Ty.DiffVar(k, 0)

Legend:
Removed from v.3113  
changed lines
  Added in v.3114

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