53 |
| Op.VoxelAddress(ImageInfo.ImgInfo{dim, ...}) => |
| Op.VoxelAddress(ImageInfo.ImgInfo{dim, ...}) => |
54 |
(Ty.AddrTy, List.tabulate(dim, fn _ => Ty.intTy)) |
(Ty.AddrTy, List.tabulate(dim, fn _ => Ty.intTy)) |
55 |
| Op.LoadVoxels(_, d) => (Ty.VecTy d, [Ty.AddrTy]) |
| Op.LoadVoxels(_, d) => (Ty.VecTy d, [Ty.AddrTy]) |
56 |
| Op.Transform(ImageInfo.ImgInfo{dim, ...}) => (Ty.VecTy dim, [Ty.VecTy dim]) |
| Op.PosToImgSpace(ImageInfo.ImgInfo{dim, ...}) => (Ty.VecTy dim, [Ty.VecTy dim]) |
57 |
|
| Op.GradToWorldSpace(ImageInfo.ImgInfo{dim, ...}) => (Ty.VecTy dim, [Ty.VecTy dim]) |
58 |
| Op.EvalKernel(d, _, _) => (Ty.VecTy d, [Ty.VecTy d]) |
| Op.EvalKernel(d, _, _) => (Ty.VecTy d, [Ty.VecTy d]) |
59 |
| Op.LoadImage _ => (Ty.ImageTy, []) |
| Op.LoadImage _ => (Ty.ImageTy, []) |
60 |
| Op.Inside(ImageInfo.ImgInfo{dim, ...}) => (Ty.BoolTy, [Ty.VecTy dim]) |
| Op.Inside(ImageInfo.ImgInfo{dim, ...}) => (Ty.BoolTy, [Ty.VecTy dim]) |