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

SCM Repository

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

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

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

revision 2024, Wed Oct 10 13:36:38 2012 UTC revision 2029, Thu Oct 11 12:03:24 2012 UTC
# Line 230  Line 230 
230                  CL.mkApply(N.toImageSpace(ImageInfo.dim info), [img, pos])                  CL.mkApply(N.toImageSpace(ImageInfo.dim info), [img, pos])
231              | (Op.TensorToWorldSpace(info, ty), [v, x]) =>              | (Op.TensorToWorldSpace(info, ty), [v, x]) =>
232                  CL.mkApply(N.toWorldSpace ty, [v, x])                  CL.mkApply(N.toWorldSpace ty, [v, x])
 (* DEPRECATED  
             | (Op.LoadImage info, [a]) =>  
                 raise Fail("impossible " ^ Op.toString rator)  
 *)  
233              | (Op.Inside(info, s), [pos, img]) =>              | (Op.Inside(info, s), [pos, img]) =>
234                  CL.mkApply(N.inside(ImageInfo.dim info), [pos, img, intExp s])                  CL.mkApply(N.inside(ImageInfo.dim info), [pos, img, intExp s])
235                | (Op.LoadSeq(ty, nrrd), []) =>
236                    raise Fail("impossible " ^ Op.toString rator)
237                | (Op.LoadImage(ty, nrrd, info), []) =>
238                    raise Fail("impossible " ^ Op.toString rator)
239              | (Op.Input _, []) => raise Fail("impossible " ^ Op.toString rator)              | (Op.Input _, []) => raise Fail("impossible " ^ Op.toString rator)
240              | _ => raise Fail(concat[              | _ => raise Fail(concat[
241                    "unknown or incorrect operator ", Op.toString rator                    "unknown or incorrect operator ", Op.toString rator
# Line 513  Line 513 
513            val env = trLocals (env, locals)            val env = trLocals (env, locals)
514            fun trStmt (env, stm) = (case stm            fun trStmt (env, stm) = (case stm
515                   of IL.S_Comment text => [CL.mkComment text]                   of IL.S_Comment text => [CL.mkComment text]
516  (*  (* DEPRECATED
517                    | IL.S_LoadImage(lhs, dim, name) => checkSts (fn sts => let                    | IL.S_LoadImage(lhs, dim, name) => checkSts (fn sts => let
518                        val lhs = VarToC.lvalueVar (env, lhs)                        val lhs = VarToC.lvalueVar (env, lhs)
519                        val imgTy = CL.T_Named(N.imageTy dim)                        val imgTy = CL.T_Named(N.imageTy dim)
# Line 527  Line 527 
527                              ]))))                              ]))))
528                        ] end)                        ] end)
529  *)  *)
530                      | IL.S_LoadNrrd _ => [] (* FIXME *)
531                    | IL.S_InputNrrd _ => [] (* FIXME *)                    | IL.S_InputNrrd _ => [] (* FIXME *)
532                    | _ => []                    | _ => []
533                  (* end case *))                  (* end case *))
# Line 571  Line 572 
572                              ]))))                              ]))))
573                        ] end)                        ] end)
574  *)  *)
575                      | IL.S_LoadNrrd(lhs, Ty.ImageTy info, nrrd) => checkSts (fn sts => let
576                          val lhs = VarToC.lvalueVar (env, lhs)
577                          val name = CL.E_Str nrrd
578                          val dim = ImageInfo.dim info
579                          val imgTy = CL.T_Named(N.imageTy dim)
580                          val loadFn = N.loadImage dim
581                          in [
582                            CL.mkDecl(
583                              CL.T_Named N.statusTy, sts,
584                              SOME(CL.I_Exp(CL.E_Apply(loadFn, [
585                                  CL.mkCast(CL.T_Ptr(CL.T_Named "WorldPrefix_t"), CL.mkVar "wrld"),
586                                  name, addrOf lhs
587                                ]))))
588                          ] end)
589                      | IL.S_LoadNrrd(lhs, Ty.DynSeqTy ty, nrrd) => checkSts (fn sts => let
590                          val lhs = VarToC.lvalueVar (env, lhs)
591                          val name = CL.E_Str nrrd
592                          val loadFn = N.loadDynSeqFromFile ty
593                          in [
594    (* FIXME: missing runtime support and need to handle the element dimensions *)
595                            CL.mkDecl(
596                              CL.T_Named N.statusTy, sts,
597                              SOME(CL.I_Exp(CL.E_Apply(loadFn, [
598                                  CL.mkCast(CL.T_Ptr(CL.T_Named "WorldPrefix_t"), CL.mkVar "wrld"),
599                                  name, addrOf lhs
600                                ]))))
601                          ] end)
602                    | IL.S_Input(_, _, _, NONE) => []                    | IL.S_Input(_, _, _, NONE) => []
603                    | IL.S_Input(lhs, name, _, SOME dflt) => [                    | IL.S_Input(lhs, name, _, SOME dflt) => [
604                          CL.mkAssign(VarToC.lvalueVar(env, lhs), trExp(env, dflt))                          CL.mkAssign(VarToC.lvalueVar(env, lhs), trExp(env, dflt))

Legend:
Removed from v.2024  
changed lines
  Added in v.2029

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