Home My Page Projects Code Snippets Project Openings diderot

SCM Repository

[diderot] Diff of /branches/charisee/src/compiler/high-to-mid/ProbeEin.sml
 [diderot] / branches / charisee / src / compiler / high-to-mid / ProbeEin.sml

Diff of /branches/charisee/src/compiler/high-to-mid/ProbeEin.sml

revision 2670, Wed Jul 9 21:54:54 2014 UTC revision 2671, Fri Jul 18 18:57:06 2014 UTC
# Line 323  Line 323
323                  (sumIndex:=tl(s);(e',infoK,dataK))                  (sumIndex:=tl(s);(e',infoK,dataK))
324              end              end
325
326
327            (*Nothing liftProbe and checkSum are commented out.
328                Some mistake underestimating size of dimension*)
329
330          fun filter es=let          fun filter es=let
331              fun filterApply([], doneB, infoB, dataB)= (doneB, infoB,dataB)              fun filterApply([], doneB, infoB, dataB)= (doneB, infoB,dataB)
332              | filterApply(B::es, doneA, infoA,dataA)= let              | filterApply(B::es, doneA, infoA,dataA)= let
# Line 336  Line 340
340              of  E.Sum(c,  E.Probe(E.Conv v, E.Tensor t)) =>let              of  E.Sum(c,  E.Probe(E.Conv v, E.Tensor t)) =>let
341                  val ref sx=sumIndex                  val ref sx=sumIndex
342                  in (case sx                  in (case sx
343                      of   [] => liftProbe(E.Probe(E.Conv v, E.Tensor t ), info,index, c,origargs)                      of  (* [] => liftProbe(E.Probe(E.Conv v, E.Tensor t ), info,index, c,origargs)
344                        | [i]=> checkSum(i,b, info,index,origargs)                        | [i]=> checkSum(i,b, info,index,origargs)
345                        | _ => let                        |*) _ => let
346                          val (b,m,code)=replaceProbe(E.Probe(E.Conv v, E.Tensor t ), info,index, (flatten sx)@c,origargs)                          val (b,m,code)=replaceProbe(E.Probe(E.Conv v, E.Tensor t ), info,index, (flatten sx)@c,origargs)
347                          in (E.Sum(c,b),m,code)                          in (E.Sum(c,b),m,code)
348                          end                          end
# Line 347  Line 351
351          | E.Probe(E.Conv _, E.Tensor _) =>let          | E.Probe(E.Conv _, E.Tensor _) =>let
352              val ref sx=sumIndex              val ref sx=sumIndex
353              in (case sx              in (case sx
354                  of []=> liftProbe(b, info,index, [],origargs)                  of (* []=> liftProbe(b, info,index, [],origargs)
355                  | [i]=> checkSum(i,b, info,index,origargs)                  | [i]=> checkSum(i,b, info,index,origargs)
356                  | _ => replaceProbe(b, info,index, flatten sx,origargs)                  |*) _ => replaceProbe(b, info,index, flatten sx,origargs)
357               (* end case*))               (* end case*))
358              end              end
359          | E.Probe _=> (dummy,info,[])          | E.Probe _=> (dummy,info,[])

Legend:
 Removed from v.2670 changed lines Added in v.2671