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

SCM Repository

[diderot] Diff of /branches/vis12/src/compiler/simplify/eval.sml
ViewVC logotype

Diff of /branches/vis12/src/compiler/simplify/eval.sml

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

revision 1685, Sun Jan 22 15:23:36 2012 UTC revision 1922, Sat Jun 23 11:25:39 2012 UTC
# Line 111  Line 111 
111  (*  (*
112                  (BV.fn_CL,              fn (y, _, xs) => assign(y, Op.CL, xs)),                  (BV.fn_CL,              fn (y, _, xs) => assign(y, Op.CL, xs)),
113                  (BV.op_convolve,        fn [Img info, KV h] => FV(FieldDef.CONV(0, info, h))),                  (BV.op_convolve,        fn [Img info, KV h] => FV(FieldDef.CONV(0, info, h))),
                 (BV.fn_convolve,        fn [KV h, Img info] => FV(FieldDef.CONV(0, info, h))),  
 *)  
                 (BV.fn_cos,             realUnOp Math.cos),  
 (*  
                 (BV.fn_dot,             vectorOp Op.Dot),  
114                  (BV.fn_inside,          fn (y, _, xs) => assign(y, Op.Inside, xs)),                  (BV.fn_inside,          fn (y, _, xs) => assign(y, Op.Inside, xs)),
115  *)  *)
116                  (BV.fn_max,             realBinOp Real.min),                  (BV.fn_max,             realBinOp Real.min),
117                  (BV.fn_min,             realBinOp Real.max),                  (BV.fn_min,             realBinOp Real.max),
118                  (BV.fn_modulate,        tensorBinOp (op * )),                  (BV.fn_modulate,        tensorBinOp (op * )),
                 (BV.fn_pow,             realBinOp Real.Math.pow),  
119  (*  (*
120                  (BV.fn_principleEvec,   vectorOp Op.PrincipleEvec),                  (BV.fn_principleEvec,   vectorOp Op.PrincipleEvec),
 *)  
                 (BV.fn_sin,             realUnOp Math.sin),  
 (*  
121                  (BV.kn_bspln3,          kernel Kernel.bspln3),                  (BV.kn_bspln3,          kernel Kernel.bspln3),
122                  (BV.kn_bspln5,          kernel Kernel.bspln5),                  (BV.kn_bspln5,          kernel Kernel.bspln5),
123                  (BV.kn_ctmr,            kernel Kernel.ctmr),                  (BV.kn_ctmr,            kernel Kernel.ctmr),
# Line 140  Line 131 
131            end            end
132    
133      fun loadImage ([Ty.DIM dim, Ty.SHAPE shp], SV filename) = let      fun loadImage ([Ty.DIM dim, Ty.SHAPE shp], SV filename) = let
134            val Ty.DimConst d = TypeUtil.resolveDim dim            val Ty.DimConst dim = TypeUtil.resolveDim dim
135            val dd = let            val dd = let
136                  val Ty.Shape dd = TypeUtil.resolveShape shp                  val Ty.Shape dd = TypeUtil.resolveShape shp
137                  fun doDim (Ty.DimConst d) = d                  fun doDim (Ty.DimConst d) = d
# Line 148  Line 139 
139                  in                  in
140                    List.map doDim dd                    List.map doDim dd
141                  end                  end
142            val info as ImageInfo.ImgInfo{dim, ty=(rng, _), ...} = ImageInfo.getInfo filename            val nrrd = NrrdInfo.getInfo filename
143              in
144                case ImageInfo.mkInfo (nrrd, dim, dd)
145                 of SOME info => info
146                  | NONE => let
147            fun rngToS [] = "real"            fun rngToS [] = "real"
148              | rngToS dd = concat["tensor[", String.concatWith "," (List.map Int.toString dd), "]"]              | rngToS dd = concat["tensor[", String.concatWith "," (List.map Int.toString dd), "]"]
149            fun error msg = raise Error("image file \"" :: filename :: "\" " :: msg)            fun error msg = raise Error("image file \"" :: filename :: "\" " :: msg)
150            in            in
151            (* check that the expected dimension and actual dimension match *)                    (* figure out what the mismatch is *)
152              if (d <> dim)                      if (NrrdInfo.dim nrrd <> dim)
153                then error ["has dimension ", Int.toString dim, ", expected ", Int.toString d]                        then error [
154            (* check that the expected shape and actual shape match *)                            "has dimension ", Int.toString(NrrdInfo.dim nrrd),
155              else if not(ListPair.allEq (op =) (dd, rng))                            ", expected ", Int.toString dim
156                then error ["has range ", rngToS rng, ", expected ", rngToS dd]                          ]
157                else ();                        else error ["has unexpected range ", rngToS dd]
158              info                    end
159                (* end case *)
160            end            end
161    
162      fun evalVar env x = (case VMap.find (env, x)      fun evalVar env x = (case VMap.find (env, x)

Legend:
Removed from v.1685  
changed lines
  Added in v.1922

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