111 |
val nd = DstV.new ("nd", vecDimTy) |
val nd = DstV.new ("nd", vecDimTy) |
112 |
val n = DstV.new ("n", DstTy.IVecTy dim) |
val n = DstV.new ("n", DstTy.IVecTy dim) |
113 |
val transformCode = [ |
val transformCode = [ |
114 |
assign(x, DstOp.Transform v, [pos]), |
assign(x, DstOp.PosToImgSpace v, [pos]), |
115 |
assign(nd, DstOp.Floor dim, [x]), |
assign(nd, DstOp.Floor dim, [x]), |
116 |
assign(f, DstOp.Sub vecDimTy, [x, nd]), |
assign(f, DstOp.Sub vecDimTy, [x, nd]), |
117 |
assign(n, DstOp.TruncToInt dim, [nd]) |
assign(n, DstOp.TruncToInt dim, [nd]) |
222 |
probeElem (result, pdOp) @ code |
probeElem (result, pdOp) @ code |
223 |
val probeCode = genProbe (result, diffIter, []) |
val probeCode = genProbe (result, diffIter, []) |
224 |
in |
in |
225 |
|
(* FIXME: for dim > 1 and k > 1, we need to transform the result back into world space *) |
226 |
transformCode @ loadCode @ probeCode |
transformCode @ loadCode @ probeCode |
227 |
end |
end |
228 |
|
|