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/gen-inputs.sml
ViewVC logotype

Diff of /branches/vis12/src/compiler/c-util/gen-inputs.sml

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

revision 1806, Sat Apr 7 00:02:25 2012 UTC revision 1807, Sat Apr 7 12:00:48 2012 UTC
# Line 24  Line 24 
24      type input_desc = (Ty.ty * string * string * bool)      type input_desc = (Ty.ty * string * string * bool)
25    
26      val nrrdPtrTy = CL.T_Ptr(CL.T_Named "Nrrd")      val nrrdPtrTy = CL.T_Ptr(CL.T_Named "Nrrd")
27        val wrldPrefixTy = CL.T_Ptr(CL.T_Named "WorldPrefix_t")
28    
29      type target_desc = TargetUtil.target_desc      type target_desc = TargetUtil.target_desc
30    
# Line 129  Line 130 
130                            ] end                            ] end
131                          else []                          else []
132                  val setDcl = (case ty                  val setDcl = (case ty
133                         of Ty.ImageTy _ => [                         of Ty.ImageTy info => let
134                                val dim = ImageInfo.dim info
135                                in [
136                                CL.D_Func(                                CL.D_Func(
137                                  [], CL.voidTy, concat[prefix, "Set_", name, "_ByName"],                                  [], CL.boolTy, concat[prefix, "Set_", name, "_ByName"],
138                                  [wrldParam, CL.PARAM(["const"], CL.charPtr, "s")],                                  [wrldParam, CL.PARAM(["const"], CL.charPtr, "s")],
139                                  CL.mkBlock[] (* FIXME *)),                                  CL.mkBlock[
140    (* FIXME: we should also generate code to check that the loaded image has the right type, etc. *)
141                                        CL.mkReturn(SOME(
142                                          CL.mkBinOp(CL.mkVar "DIDEROT_FAIL", CL.#==,
143                                            CL.mkApply(N.loadImage dim, [
144                                                CL.mkCast(wrldPrefixTy, CL.mkVar "wrld"),
145                                                CL.mkVar "s", CL.mkUnOp(CL.%&, global name)
146                                              ]))))
147                                      ]),
148                                CL.D_Func(                                CL.D_Func(
149                                  [], CL.voidTy, concat[prefix, "Set_", name],                                  [], CL.voidTy, concat[prefix, "Set_", name],
150                                  [wrldParam, CL.PARAM([], nrrdPtrTy, "data")],                                  [wrldParam, CL.PARAM([], nrrdPtrTy, "nin")],
151                                  CL.mkBlock[] (* FIXME *))                                  CL.mkBlock[
152                              ]  (* FIXME: we should also generate code to check that the loaded image has the right type, etc. *)
153                                        CL.mkReturn(SOME(
154                                          CL.mkBinOp(CL.mkVar "DIDEROT_FAIL", CL.#==,
155                                            CL.mkApply(N.setImage dim, [
156                                                CL.mkCast(wrldPrefixTy, CL.mkVar "wrld"),
157                                                CL.mkVar "nin", CL.mkUnOp(CL.%&, global name)
158                                              ]))))
159                                      ])
160                                ] end
161                          | Ty.DynSeqTy _ => raise Fail "dynamic input not supported yet"                          | Ty.DynSeqTy _ => raise Fail "dynamic input not supported yet"
162                          | _ => [                          | _ => [
163                                CL.D_Func(                                CL.D_Func(

Legend:
Removed from v.1806  
changed lines
  Added in v.1807

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