96 |
(BV.op_convolve, fn (y, [_, dv, _], xs) => |
(BV.op_convolve, fn (y, [_, dv, _], xs) => |
97 |
assign(y, Op.Field(pruneDim(MV.toDim dv)), xs)), |
assign(y, Op.Field(pruneDim(MV.toDim dv)), xs)), |
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, fn (y, [dv], xs) => (case pruneDim(MV.toDim dv) |
(BV.op_norm, fn (y, [sv], xs) => (case shapeVarToTensor sv |
100 |
of 1 => assign(y, Op.Abs DstTy.realTy, xs) |
of DstTy.TensorTy[] => assign(y, Op.Abs DstTy.realTy, xs) |
101 |
| n => assign(y, Op.Norm(DstTy.tensorTy[n]), xs) |
| ty => assign(y, Op.Norm ty, xs) |
102 |
(* end case *))), |
(* end case *))), |
103 |
(BV.op_not, simpleOp Op.Not), |
(BV.op_not, simpleOp Op.Not), |
104 |
(BV.fn_atan2, basisFn ILBasis.atan2), |
(BV.fn_atan2, basisFn ILBasis.atan2), |
135 |
of SOME transFn => transFn(y, mvs, xs) |
of SOME transFn => transFn(y, mvs, xs) |
136 |
| NONE => raise Fail("TranslateBasis.translate: unknown basis function " ^ Var.uniqueNameOf f) |
| NONE => raise Fail("TranslateBasis.translate: unknown basis function " ^ Var.uniqueNameOf f) |
137 |
(* end case *)) |
(* end case *)) |
138 |
|
handle ex => (print(concat["translate (", IL.Var.toString y, ", ", |
139 |
|
Var.uniqueNameOf f, ", ...)\n"]); raise ex) |
140 |
|
|
141 |
end |
end |