109 |
] end), |
] end), |
110 |
(BV.exp_ri, simpleOp(Op.Power)), |
(BV.exp_ri, simpleOp(Op.Power)), |
111 |
(BV.exp_rr, basisFn ILBasis.pow), |
(BV.exp_rr, basisFn ILBasis.pow), |
112 |
|
(BV.convolve_vk, fn (y, [_, dv, _], xs) => |
113 |
|
assign(y, Op.Field(pruneDim(MV.toDim dv)), xs)), |
114 |
|
(BV.convolve_kv, fn (y, [_, dv, _], [k, v]) => |
115 |
|
assign(y, Op.Field(pruneDim(MV.toDim dv)), [v, k])), |
116 |
(BV.neg_i, simpleOp(Op.Neg DstTy.IntTy)), |
(BV.neg_i, simpleOp(Op.Neg DstTy.IntTy)), |
117 |
(BV.neg_t, tensorOp Op.Neg), |
(BV.neg_t, tensorOp Op.Neg), |
118 |
(BV.neg_f, fn (y, _, xs) => assign(y, Op.NegField, xs)), |
(BV.neg_f, fn (y, _, xs) => assign(y, Op.NegField, xs)), |
119 |
(BV.op_at, fn (y, [_, dv, sv], xs) => |
(BV.op_at, fn (y, [_, dv, sv], xs) => |
120 |
assign(y, Op.Probe(dimVarToTensor dv, shapeVarToTensor sv), xs)), |
assign(y, Op.Probe(dimVarToTensor dv, shapeVarToTensor sv), xs)), |
|
(BV.op_convolve, fn (y, [_, dv, _], xs) => |
|
|
assign(y, Op.Field(pruneDim(MV.toDim dv)), xs)), |
|
121 |
(BV.op_D, fn (y, _, xs) => assign(y, Op.DiffField, xs)), |
(BV.op_D, fn (y, _, xs) => assign(y, Op.DiffField, xs)), |
122 |
(BV.op_norm, fn (y, [sv], xs) => (case shapeVarToTensor sv |
(BV.op_norm, fn (y, [sv], xs) => (case shapeVarToTensor sv |
123 |
of DstTy.TensorTy[] => assign(y, Op.Abs DstTy.realTy, xs) |
of DstTy.TensorTy[] => assign(y, Op.Abs DstTy.realTy, xs) |