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

SCM Repository

[diderot] Diff of /branches/vis12-cl/src/compiler/c-util/output-util.sml
ViewVC logotype

Diff of /branches/vis12-cl/src/compiler/c-util/output-util.sml

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

revision 3092, Tue Mar 17 20:02:38 2015 UTC revision 3093, Wed Mar 18 01:56:17 2015 UTC
# Line 36  Line 36 
36    
37      structure Ty = TreeIL.Ty      structure Ty = TreeIL.Ty
38      structure CL = CLang      structure CL = CLang
39      structure N = CNames      structure RN = RuntimeNames
40      structure Nrrd = NrrdEnums      structure Nrrd = NrrdEnums
41    
42      val nrrdPtrTy = CL.T_Ptr(CL.T_Named "Nrrd")      val nrrdPtrTy = CL.T_Ptr(CL.T_Named "Nrrd")
# Line 144  Line 144 
144                    | _ => multi ()                    | _ => multi ()
145                  (* end case *))                  (* end case *))
146            val registerFn = CL.D_Func(            val registerFn = CL.D_Func(
147                  ["static"], CL.voidTy, N.registerOutputOpts,                  ["static"], CL.voidTy, RN.registerOutputOpts,
148                  [CL.PARAM([], CL.T_Ptr(CL.T_Named N.optionsTy), "opts")],                  [CL.PARAM([], RN.optionsPtrTy, "opts")],
149                  CL.mkBlock stms)                  CL.mkBlock stms)
150            in            in
151              dcls @ [registerFn]              dcls @ [registerFn]
# Line 174  Line 174 
174                      nrrdNew (nLengthsV),                      nrrdNew (nLengthsV),
175                      nrrdNew (nDataV),                      nrrdNew (nDataV),
176                      CL.mkIfThenElse(                      CL.mkIfThenElse(
177                        CL.mkApply(N.outputGet(tgt, name), [wrldV, nLengthsV, nDataV]),                        CL.mkApply(RN.outputGet(tgt, name), [wrldV, nLengthsV, nDataV]),
178                      (* then *)                      (* then *)
179                          error ("Error getting nrrd data:\n%s\n",                          error ("Error getting nrrd data:\n%s\n",
180                            CL.mkApply("biffMsgStrGet", [CL.mkIndirect(wrldV, "errors")])),                            CL.mkApply("biffMsgStrGet", [CL.mkIndirect(wrldV, "errors")])),
# Line 199  Line 199 
199                  then [                  then [
200                      nrrdNew (nDataV),                      nrrdNew (nDataV),
201                      CL.mkIfThenElse(                      CL.mkIfThenElse(
202                        CL.mkApply(N.outputGet(tgt, name), [wrldV, nDataV]),                        CL.mkApply(RN.outputGet(tgt, name), [wrldV, nDataV]),
203                      (* then *)                      (* then *)
204                          error ("Error getting nrrd data:\n%s\n",                          error ("Error getting nrrd data:\n%s\n",
205                            CL.mkApply("biffMsgStrGet", [CL.mkIndirect(wrldV, "errors")])),                            CL.mkApply("biffMsgStrGet", [CL.mkIndirect(wrldV, "errors")])),
# Line 217  Line 217 
217                  else [                  else [
218                      nrrdNew (nDataV),                      nrrdNew (nDataV),
219                      CL.mkIfThenElse(                      CL.mkIfThenElse(
220                        CL.mkApply(N.outputGet(tgt, name), [wrldV, nDataV]),                        CL.mkApply(RN.outputGet(tgt, name), [wrldV, nDataV]),
221                      (* then *)                      (* then *)
222                          error ("Error getting nrrd data:\n%s\n",                          error ("Error getting nrrd data:\n%s\n",
223                            CL.mkApply("biffMsgStrGet", [CL.mkIndirect(wrldV, "errors")])),                            CL.mkApply("biffMsgStrGet", [CL.mkIndirect(wrldV, "errors")])),
# Line 234  Line 234 
234                    ]                    ]
235            fun printNrrd (ty, name) = [] (* FIXME *)            fun printNrrd (ty, name) = [] (* FIXME *)
236            in [            in [
237              CL.D_Func(["static"], CL.voidTy, "WriteOutput", [CL.PARAM([], N.worldPtrTy tgt, "wrld")],              CL.D_Func(["static"], CL.voidTy, "WriteOutput", [CL.PARAM([], RN.worldPtrTy tgt, "wrld")],
238                CL.mkBlock(outDecls @ List.foldr (fn (output, l) => writeNrrd output @ l) [] outputs)),                CL.mkBlock(outDecls @ List.foldr (fn (output, l) => writeNrrd output @ l) [] outputs)),
239              CL.D_Func(["static"], CL.voidTy, "PrintOutput", [CL.PARAM([], N.worldPtrTy tgt, "wrld")],              CL.D_Func(["static"], CL.voidTy, "PrintOutput", [CL.PARAM([], RN.worldPtrTy tgt, "wrld")],
240                CL.mkBlock(prDecls @ List.foldr (fn (output, l) => printNrrd output @ l) [] outputs))                CL.mkBlock(prDecls @ List.foldr (fn (output, l) => printNrrd output @ l) [] outputs))
241            ] end            ] end
242    

Legend:
Removed from v.3092  
changed lines
  Added in v.3093

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