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

SCM Repository

[diderot] Diff of /branches/vis12/src/compiler/translate/translate-basis.sml
ViewVC logotype

Diff of /branches/vis12/src/compiler/translate/translate-basis.sml

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

revision 3037, Wed Mar 11 13:42:30 2015 UTC revision 3038, Wed Mar 11 14:36:06 2015 UTC
# Line 225  Line 225 
225                                            assign(y, Op.Identity d, [])),                                            assign(y, Op.Identity d, [])),
226                  (BV.zero,               fn (y, [sv], []) =>                  (BV.zero,               fn (y, [sv], []) =>
227                                            assign(y, Op.Zero(shapeVarToTensor sv), [])),                                            assign(y, Op.Zero(shapeVarToTensor sv), [])),
228                  (BV.nan,                fn (y, [sv], []) => raise Fail "FIXME"),                  (BV.nan,                fn (y, [Ty.SHAPE dd], []) => let
229                                                val nan = IL.LIT(Literal.Float(FloatLit.nan))
230                                                fun mk (y, [], stms) = IL.ASSGN(y, nan) :: stms
231                                                  | mk (y, d::dd, stms) = let
232                                                      val ty = shapeVarToTensor(Ty.SHAPE dd)
233                                                      val zs = List.tabulate(d, fn _ => IL.Var.new("_nan", ty))
234                                                      in
235                                                        IL.ASSGN(y, IL.CONS(IL.Var.ty y, zs)) ::
236                                                          List.foldl (fn (z, stms) => mk(z, dd, stms)) stms zs
237                                                      end
238                                                in
239                                                  List.rev (mk (y, dd, []))
240                                                end),
241                  (BV.subscript,          fn (y, [tv, Ty.DIM d], args) =>                  (BV.subscript,          fn (y, [tv, Ty.DIM d], args) =>
242                                            assign(y,                                            assign(y,
243                                              Op.SeqSub(DstTy.SeqTy(trType tv, d)),                                              Op.SeqSub(DstTy.SeqTy(trType tv, d)),

Legend:
Removed from v.3037  
changed lines
  Added in v.3038

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