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

SCM Repository

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

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

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

revision 2585, Thu Apr 17 03:52:19 2014 UTC revision 2628, Wed May 21 04:02:06 2014 UTC
# Line 173  Line 173 
173                                          end),                                          end),
174                  (BV.div_fr,             fn (y, [_,Ty.DIM d, Ty.SHAPE dd], xs) =>                  (BV.div_fr,             fn (y, [_,Ty.DIM d, Ty.SHAPE dd], xs) =>
175                                              [assignEin(y, mk.divideField(d, dd),xs)]),                                              [assignEin(y, mk.divideField(d, dd),xs)]),
176                    (BV.div_ss,             fn (y, [_,Ty.DIM d], xs) =>
177                                                [assignEin(y, mk.divFieldss d,xs)]),
178    
179                  (BV.exp_ri,             simpleOp(Op.Power)),                  (BV.exp_ri,             simpleOp(Op.Power)),
180                  (BV.exp_rr,             basisFn MathFuns.pow),                  (BV.exp_rr,             basisFn MathFuns.pow),
181                  (BV.curl2D,              simpleEOp mk.curl2d),                  (BV.curl2D,              simpleEOp mk.curl2d),
# Line 211  Line 214 
214                                            (* end case *))),                                            (* end case *))),
215                  (BV.op_not,             simpleOp Op.Not),                  (BV.op_not,             simpleOp Op.Not),
216                  (BV.op_cross,            simpleEOp mk.crossProduct),                  (BV.op_cross,            simpleEOp mk.crossProduct),
217                    (BV.op_crossField,       simpleEOp mk.crossProductField),
218                  (BV.op_outer,           fn (y, [Ty.DIM d1, Ty.DIM d2], xs) =>                  (BV.op_outer,           fn (y, [Ty.DIM d1, Ty.DIM d2], xs) =>
219                                              [assignEin(y, (mk.outerProduct(d1, d2)), xs)]),                                              [assignEin(y, (mk.outerProduct(d1, d2)), xs)]),
220  (* Any Shape fields  (* Any Shape fields
# Line 229  Line 233 
233                                          end),                                          end),
234    
235                  (BV.op_innerField,           fn (y,  [_,Ty.SHAPE dd1,Ty.DIM d,Ty.SHAPE dd2,_], xs) =>                  (BV.op_innerField,           fn (y,  [_,Ty.SHAPE dd1,Ty.DIM d,Ty.SHAPE dd2,_], xs) =>
236                                                      let                                              [assignEin(y, mk.innerProductField(dd1,d,dd2),xs)]),
                                                     val _=print(String.concat["Translate Inner product Field. "])  
                                                 in  
                                                 [assignEin(y, mk.innerProductField(dd1,d,dd2),xs)] end ),  
   
237                  (BV.op_colon,           fn (y, [sh1, sh2, _], xs) => let                  (BV.op_colon,           fn (y, [sh1, sh2, _], xs) => let
238                                              val ty1 as DstTy.TensorTy dd1 = shapeVarToTensor sh1                                              val ty1 as DstTy.TensorTy dd1 = shapeVarToTensor sh1
239                                              val ty2 as DstTy.TensorTy dd2 = shapeVarToTensor sh2                                              val ty2 as DstTy.TensorTy dd2 = shapeVarToTensor sh2
240                                          in                                          in
241                                              [assignEin(y, (mk.doubleDot(dd1,dd2)),xs)]                                              [assignEin(y, (mk.doubleDot(dd1,dd2)),xs)]
242                                          end),                                          end),
243                    (BV.op_colonField,       fn (y, [_,Ty.SHAPE dd1,_,Ty.SHAPE dd2, _], xs) =>
244                                                [assignEin(y, (mk.doubleDotField(dd1,dd2)),xs)]),
245                  (BV.fn_inside,          fn (y, [_, Ty.DIM d, _], xs) => assign(y, Op.Inside d, xs)),                  (BV.fn_inside,          fn (y, [_, Ty.DIM d, _], xs) => assign(y, Op.Inside d, xs)),
246                  (BV.clamp_rrr,          simpleOp (Op.Clamp DstTy.realTy)),                  (BV.clamp_rrr,          simpleOp (Op.Clamp DstTy.realTy)),
247                  (BV.clamp_vvv,          vectorOp Op.Clamp),                  (BV.clamp_vvv,          vectorOp Op.Clamp),
# Line 268  Line 270 
270                  (BV.fn_principleEvec,   vectorOp Op.PrincipleEvec),                  (BV.fn_principleEvec,   vectorOp Op.PrincipleEvec),
271                  (BV.fn_trace,           fn (y, [Ty.DIM d], xs) =>                  (BV.fn_trace,           fn (y, [Ty.DIM d], xs) =>
272                                            [assignEin(y,(mk.trace d), xs)]),                                            [assignEin(y,(mk.trace d), xs)]),
273                    (BV.fn_traceField,           fn (y, [_,Ty.DIM d,Ty.SHAPE dd], xs) =>
274                            [assignEin(y,mk.traceField(d,dd), xs)]),
275    
276                  (BV.fn_transpose,       fn (y, [Ty.DIM d1, Ty.DIM d2], xs) =>                  (BV.fn_transpose,       fn (y, [Ty.DIM d1, Ty.DIM d2], xs) =>
277                                            [assignEin(y, (mk.transpose [d1,d2]), xs)]),                                            [assignEin(y, (mk.transpose [d1,d2]), xs)]),
278    
279                    (BV.fn_transposeField,  fn (y, [_,Ty.DIM d1, Ty.DIM d2,Ty.DIM d3], xs) =>
280                        [assignEin(y, (mk.transposeField (d1,d2,d3)), xs)]),
281    
282                  (BV.kn_bspln3,          kernel Kernel.bspln3),                  (BV.kn_bspln3,          kernel Kernel.bspln3),
283                  (BV.kn_bspln5,          kernel Kernel.bspln5),                  (BV.kn_bspln5,          kernel Kernel.bspln5),
284                  (BV.kn_ctmr,            kernel Kernel.ctmr),                  (BV.kn_ctmr,            kernel Kernel.ctmr),
# Line 280  Line 289 
289                  (BV.i2r,                simpleOp Op.IntToReal),                  (BV.i2r,                simpleOp Op.IntToReal),
290                  (BV.identity,           fn (y, [Ty.DIM d], xs) =>                  (BV.identity,           fn (y, [Ty.DIM d], xs) =>
291                                            [assignEin(y, (mk.identity d), xs)]),                                            [assignEin(y, (mk.identity d), xs)]),
292               (*   (BV.zero,               fn (y, [sv], []) =>                 (BV.zero,               fn (y, [sv], []) =>
293                                            assign(y, Op.Zero(shapeVarToTensor sv), [])),*)                                            assign(y, Op.Zero(shapeVarToTensor sv), [])),
294                  (BV.subscript,          fn (y, [ty, Ty.DIM d], xs) =>                  (BV.subscript,          fn (y, [ty, Ty.DIM d], xs) =>
295                                            assign (y, Op.SeqSub(DstTy.SeqTy(trType ty, d)), xs))                                            assign (y, Op.SeqSub(DstTy.SeqTy(trType ty, d)), xs))
296  (*,  (*,

Legend:
Removed from v.2585  
changed lines
  Added in v.2628

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