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

SCM Repository

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

Diff of /branches/pure-cfg/src/compiler/translate/translate-basis.sml

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

revision 685, Thu Mar 24 14:12:05 2011 UTC revision 695, Fri Mar 25 17:52:54 2011 UTC
# Line 46  Line 46 
46    
47      fun assign (y, rator, xs) = [(y, IL.OP(rator, xs))]      fun assign (y, rator, xs) = [(y, IL.OP(rator, xs))]
48    
49        fun basisFn name (y, [], xs) = [(y, IL.APPLY(name, xs))]
50    
51      fun simpleOp rator (y, [], xs) = assign (y, rator, xs)      fun simpleOp rator (y, [], xs) = assign (y, rator, xs)
52    
53      fun tensorOp rator (y, [sv], xs) = assign (y, rator(shapeVarToTensor sv), xs)      fun tensorOp rator (y, [sv], xs) = assign (y, rator(shapeVarToTensor sv), xs)
# Line 96  Line 98 
98                  (BV.op_D,               fn (y, _, xs) => assign(y, Op.DiffField, xs)),                  (BV.op_D,               fn (y, _, xs) => assign(y, Op.DiffField, xs)),
99                  (BV.op_norm,            tensorOp Op.Norm),                  (BV.op_norm,            tensorOp Op.Norm),
100                  (BV.op_not,             simpleOp Op.Not),                  (BV.op_not,             simpleOp Op.Not),
101                    (BV.fn_atan2,           basisFn ILBasis.atan2),
102                  (BV.fn_CL,              fn (y, _, xs) => assign(y, Op.CL, xs)),                  (BV.fn_CL,              fn (y, _, xs) => assign(y, Op.CL, xs)),
103                  (BV.fn_convolve,        fn (y, [_, dv, _], [h, img]) =>                  (BV.fn_convolve,        fn (y, [_, dv, _], [h, img]) =>
104                                            assign(y, Op.Field(pruneDim(MV.toDim dv)), [img, h])),                                            assign(y, Op.Field(pruneDim(MV.toDim dv)), [img, h])),
105                  (BV.fn_cos,             simpleOp Op.Cos),                  (BV.fn_cos,             basisFn ILBasis.cos),
106                  (BV.fn_cross,           simpleOp Op.Cross),                  (BV.fn_cross,           simpleOp Op.Cross),
107                  (BV.fn_dot,             vectorOp Op.Dot),                  (BV.fn_dot,             vectorOp Op.Dot),
108                  (BV.fn_evals,           fn _ => raise Fail "evals not implemented yet"), (* FIXME *)                  (BV.fn_evals,           fn _ => raise Fail "evals not implemented yet"), (* FIXME *)
# Line 110  Line 113 
113                  (BV.fn_min,             simpleOp Op.Min),                  (BV.fn_min,             simpleOp Op.Min),
114                  (BV.fn_modulate,        vectorOp Op.Mul),                  (BV.fn_modulate,        vectorOp Op.Mul),
115                  (BV.fn_outer,           fn _ => raise Fail "outer not implemented yet"), (* FIXME *)                  (BV.fn_outer,           fn _ => raise Fail "outer not implemented yet"), (* FIXME *)
116                  (BV.fn_pow,             simpleOp Op.Pow),                  (BV.fn_pow,             basisFn ILBasis.pow),
117                  (BV.fn_principleEvec,   vectorOp Op.PrincipleEvec),                  (BV.fn_principleEvec,   vectorOp Op.PrincipleEvec),
118                  (BV.fn_sin,             simpleOp Op.Sin),                  (BV.fn_sin,             basisFn ILBasis.sin),
119                    (BV.fn_tan,             basisFn ILBasis.tan),
120                  (BV.fn_trace,           fn (y, [dv], xs) => assign(y, Op.Trace(dimVarToMatrix dv), xs)),                  (BV.fn_trace,           fn (y, [dv], xs) => assign(y, Op.Trace(dimVarToMatrix dv), xs)),
121                  (BV.kn_bspln3,          kernel Kernel.bspln3),                  (BV.kn_bspln3,          kernel Kernel.bspln3),
122                  (BV.kn_bspln5,          kernel Kernel.bspln5),                  (BV.kn_bspln5,          kernel Kernel.bspln5),

Legend:
Removed from v.685  
changed lines
  Added in v.695

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