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

SCM Repository

[diderot] Diff of /trunk/src/compiler/c-util/tree-to-c-fn.sml
ViewVC logotype

Diff of /trunk/src/compiler/c-util/tree-to-c-fn.sml

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

revision 2636, Tue May 27 16:18:36 2014 UTC revision 3082, Mon Mar 16 22:09:18 2015 UTC
# Line 67  Line 67 
67              | Ty.TensorTy[n, m] => CL.T_Named(N.matTy(n,m))              | Ty.TensorTy[n, m] => CL.T_Named(N.matTy(n,m))
68              | Ty.SeqTy(Ty.IntTy, n) => CL.T_Named(N.ivecTy n)              | Ty.SeqTy(Ty.IntTy, n) => CL.T_Named(N.ivecTy n)
69              | Ty.SeqTy(ty, n) => CL.T_Array(trType ty, SOME n)              | Ty.SeqTy(ty, n) => CL.T_Array(trType ty, SOME n)
 (*  
             | Ty.AddrTy(ImageInfo.ImgInfo{ty=(_, rTy), ...}) => CL.T_Ptr(CL.T_Num rTy)  
             | Ty.ImageTy(ImageInfo.ImgInfo{dim, ...}) => CL.T_Ptr(CL.T_Named(N.imageTy dim))  
 *)  
70              | Ty.AddrTy info => CL.T_Ptr(CL.T_Num(ImageInfo.sampleTy info))              | Ty.AddrTy info => CL.T_Ptr(CL.T_Num(ImageInfo.sampleTy info))
71              | Ty.ImageTy info => CL.T_Ptr(CL.T_Named(N.imageTy(ImageInfo.dim info)))              | Ty.ImageTy info => CL.T_Ptr(CL.T_Named(N.imageTy(ImageInfo.dim info)))
72              | _ => raise Fail(concat["TreeToC.trType(", Ty.toString ty, ")"])              | _ => raise Fail(concat["TreeToC.trType(", Ty.toString ty, ")"])
# Line 222  Line 218 
218                  CL.mkApply(N.toImageSpace(ImageInfo.dim info), [img, pos])                  CL.mkApply(N.toImageSpace(ImageInfo.dim info), [img, pos])
219              | (Op.TensorToWorldSpace(info, ty), [v, x]) =>              | (Op.TensorToWorldSpace(info, ty), [v, x]) =>
220                  CL.mkApply(N.toWorldSpace ty, [v, x])                  CL.mkApply(N.toWorldSpace ty, [v, x])
             | (Op.LoadImage info, [a]) =>  
                 raise Fail("impossible " ^ Op.toString rator)  
221              | (Op.Inside(info, s), [pos, img]) =>              | (Op.Inside(info, s), [pos, img]) =>
222                  CL.mkApply(N.inside(ImageInfo.dim info), [pos, img, intExp s])                  CL.mkApply(N.inside(ImageInfo.dim info), [pos, img, intExp s])
223                | (Op.LoadImage info, [a]) =>
224                    raise Fail("impossible " ^ Op.toString rator)
225              | (Op.LoadImage(ty, nrrd, info), []) =>              | (Op.LoadImage(ty, nrrd, info), []) =>
226                  raise Fail("impossible " ^ Op.toString rator)                  raise Fail("impossible " ^ Op.toString rator)
227              | (Op.Input _, []) => raise Fail("impossible " ^ Op.toString rator)              | (Op.Input _, []) => raise Fail("impossible " ^ Op.toString rator)
# Line 470  Line 466 
466                    | IL.S_Save([x], exp) => trAssign (env, VarToC.lvalueStateVar x, exp)                    | IL.S_Save([x], exp) => trAssign (env, VarToC.lvalueStateVar x, exp)
467                    | IL.S_Save(xs, exp) =>                    | IL.S_Save(xs, exp) =>
468                        trMultiAssign (env, List.map VarToC.lvalueStateVar xs, exp)                        trMultiAssign (env, List.map VarToC.lvalueStateVar xs, exp)
 (*  
                   | IL.S_LoadImage(lhs, dim, name) => checkSts (fn sts => let  
                       val lhs = VarToC.lvalueVar (env, lhs)  
                       val name = trExp(env, name)  
                       val imgTy = CL.T_Named(N.imageTy dim)  
                       val loadFn = N.loadImage dim  
                       in [  
                         CL.mkDecl(  
                           CL.T_Named N.statusTy, sts,  
                           SOME(CL.I_Exp(CL.E_Apply(loadFn, [name, CL.mkUnOp(CL.%&, lhs)]))))  
                       ] end)  
                   | IL.S_Input(lhs, name, desc, optDflt) => let  
                       val inputFn = N.input(V.ty lhs)  
                       val lhs = VarToC.lvalueVar (env, lhs)  
                       val (initCode, hasDflt) = (case optDflt  
                              of SOME e => ([CL.mkAssign(lhs, trExp(env, e))], true)  
                               | NONE => ([], false)  
                             (* end case *))  
                       val code = [CL.mkCall(inputFn, [  
                               CL.mkVar "opts",  
                               CL.mkStr name,  
                               CL.mkStr desc,  
                               CL.mkUnOp(CL.%&, lhs),  
                               CL.mkBool hasDflt])]  
                       in  
                         initCode @ code  
                       end  
 *)  
469                    | IL.S_LoadNrrd(lhs, Ty.ImageTy info, nrrd) =>                    | IL.S_LoadNrrd(lhs, Ty.ImageTy info, nrrd) =>
470                        [GenLoadNrrd.loadImage (VarToC.lvalueVar (env, lhs), info, CL.E_Str nrrd)]                        [GenLoadNrrd.loadImage (VarToC.lvalueVar (env, lhs), info, CL.E_Str nrrd)]
471                    | IL.S_Input(_, _, _, NONE) => []                    | IL.S_Input(_, _, _, NONE) => []

Legend:
Removed from v.2636  
changed lines
  Added in v.3082

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