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/tree-to-c.sml
ViewVC logotype

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

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

revision 2595, Fri Apr 18 17:51:05 2014 UTC revision 2694, Wed Sep 10 22:55:58 2014 UTC
# Line 174  Line 174 
174                          "lerp<", Ty.toString ty, "> not supported"                          "lerp<", Ty.toString ty, "> not supported"
175                        ])                        ])
176                  (* end case *))                  (* end case *))
177              | (Op.Dot d, args) => CL.E_Apply(N.dot d, args)              | (Op.Dot d, args) => CL.mkApply(N.dot d, args)
178              | (Op.MulVecMat(m, n), args) =>              | (Op.MulVecMat(m, n), args) =>
179                  if (1 < m) andalso (m <= 4) andalso (m = n)                  if (1 < m) andalso (m <= 4) andalso (m = n)
180                    then CL.E_Apply(N.mulVecMat(m,n), args)                    then CL.mkApply(N.mulVecMat(m,n), args)
181                    else raise Fail "unsupported vector-matrix multiply"                    else raise Fail "unsupported vector-matrix multiply"
182              | (Op.MulMatVec(m, n), args) =>              | (Op.MulMatVec(m, n), args) =>
183                  if (1 < m) andalso (m <= 4) andalso (m = n)                  if (1 < m) andalso (m <= 4) andalso (m = n)
184                    then CL.E_Apply(N.mulMatVec(m,n), args)                    then CL.mkApply(N.mulMatVec(m,n), args)
185                    else raise Fail "unsupported matrix-vector multiply"                    else raise Fail "unsupported matrix-vector multiply"
186              | (Op.MulMatMat(m, n, p), args) =>              | (Op.MulMatMat(m, n, p), args) =>
187                  if (1 < m) andalso (m <= 4) andalso (m = n) andalso (n = p)                  if (1 < m) andalso (m <= 4) andalso (m = n) andalso (n = p)
188                    then CL.E_Apply(N.mulMatMat(m,n,p), args)                    then CL.mkApply(N.mulMatMat(m,n,p), args)
189                    else raise Fail "unsupported matrix-matrix multiply"                    else raise Fail "unsupported matrix-matrix multiply"
190              | (Op.ColonMul(Ty.TensorTy dd1, Ty.TensorTy dd2), args) =>              | (Op.ColonMul(Ty.TensorTy dd1, Ty.TensorTy dd2), args) =>
191                  CL.E_Apply(N.colonMul(dd1, dd2), args)                  CL.mkApply(N.colonMul(dd1, dd2), args)
192              | (Op.Cross, args) => CL.E_Apply(N.cross(), args)              | (Op.Cross, args) => CL.mkApply(N.cross(), args)
193              | (Op.Norm(Ty.TensorTy[n]), args) => CL.E_Apply(N.length n, args)              | (Op.Norm(Ty.TensorTy[n]), args) => CL.mkApply(N.length n, args)
194              | (Op.Norm(Ty.TensorTy[m,n]), args) => CL.E_Apply(N.normMat(m,n), args)              | (Op.Norm(Ty.TensorTy[m,n]), args) => CL.mkApply(N.normMat(m,n), args)
195              | (Op.Norm(Ty.TensorTy[m,n,p]), args) => CL.E_Apply(N.normTen3(m,n,p), args)              | (Op.Norm(Ty.TensorTy[m,n,p]), args) => CL.mkApply(N.normTen3(m,n,p), args)
196              | (Op.Normalize d, args) => CL.E_Apply(N.normalize d, args)              | (Op.Normalize d, args) => CL.mkApply(N.normalize d, args)
197              | (Op.Scale(Ty.TensorTy[n]), args) => CL.E_Apply(N.scale n, args)              | (Op.Scale(Ty.TensorTy[n]), args) => CL.mkApply(N.scale n, args)
198              | (Op.PrincipleEvec ty, _) => raise Fail "PrincipleEvec unimplemented"              | (Op.PrincipleEvec ty, _) => raise Fail "PrincipleEvec unimplemented"
199              | (Op.Select(Ty.TupleTy tys, i), [a]) => raise Fail "Select unimplemented"              | (Op.Select(Ty.TupleTy tys, i), [a]) => raise Fail "Select unimplemented"
200              | (Op.Index(Ty.SeqTy(Ty.IntTy, n), i), [a]) => ivecIndex (a, n, i)              | (Op.Index(Ty.SeqTy(Ty.IntTy, n), i), [a]) => ivecIndex (a, n, i)
# Line 258  Line 258 
258                  end                  end
259              | (Op.LoadVoxels(info, 1), [a]) => let              | (Op.LoadVoxels(info, 1), [a]) => let
260                  val realTy as CL.T_Num rTy = !N.gRealTy                  val realTy as CL.T_Num rTy = !N.gRealTy
261                  val a = CL.E_UnOp(CL.%*, a)                  val a = CL.mkUnOp(CL.%*, a)
262                  in                  in
263                    if (rTy = ImageInfo.sampleTy info)                    if (rTy = ImageInfo.sampleTy info)
264                      then a                      then a
265                      else CL.E_Cast(realTy, a)                      else CL.mkCast(realTy, a)
266                  end                  end
267              | (Op.LoadVoxels _, [a]) =>              | (Op.LoadVoxels _, [a]) =>
268                  raise Fail("impossible " ^ Op.toString rator)                  raise Fail("impossible " ^ Op.toString rator)
# Line 588  Line 588 
588                    | IL.S_LoadNrrd(lhs, Ty.DynSeqTy ty, nrrd) =>                    | IL.S_LoadNrrd(lhs, Ty.DynSeqTy ty, nrrd) =>
589                        [GenLoadNrrd.loadSeqFromFile (lvalueVar (env, lhs), ty, CL.mkStr nrrd)]                        [GenLoadNrrd.loadSeqFromFile (lvalueVar (env, lhs), ty, CL.mkStr nrrd)]
590                    | IL.S_LoadNrrd(lhs, Ty.ImageTy info, nrrd) =>                    | IL.S_LoadNrrd(lhs, Ty.ImageTy info, nrrd) =>
591                        [GenLoadNrrd.loadImage (lvalueVar (env, lhs), info, CL.E_Str nrrd)]                        [GenLoadNrrd.loadImage (lvalueVar (env, lhs), info, CL.mkStr nrrd)]
592                    | IL.S_Input(_, _, _, NONE) => []                    | IL.S_Input(_, _, _, NONE) => []
593                    | IL.S_Input(lhs, name, _, SOME dflt) => [                    | IL.S_Input(lhs, name, _, SOME dflt) => [
594                          CL.mkAssign(lvalueVar(env, lhs), trExp(env, dflt))                          CL.mkAssign(lvalueVar(env, lhs), trExp(env, dflt))

Legend:
Removed from v.2595  
changed lines
  Added in v.2694

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