Differences

This shows you the differences between two versions of the page.

Link to this comparison view

notes:peere:time [2019/05/01 16:38]
vlado [Main journals]
notes:peere:time [2019/05/01 22:44] (current)
vlado [Main journals]
Line 170: Line 170:
 <code> <code>
 def changeTime(a,p): def changeTime(a,p):
-   i = 0; t = p[i]; v = 0; b = []+   i = 0; t = p[i]; v = 0; b = []; cut = False
    for sc,fc,vc in a:    for sc,fc,vc in a:
-      while t <= sc: i = i+1; t = p[i] +      while t <= sc: 
-      if t <fc: v = v + (t-sc)*vc; b.append((i,i+1,v))v = (fc-t)*vc +         if v > 0:  
-      else: v = v + (fc-sc)*vc +            if not cut: b.append((i,i+1,v)); v = 0 
-   b.append((i,i+1,v))+         i = i+1; t = p[i] 
 +      if t < fc: 
 +         v = v + (t-sc)*vc; b.append((i,i+1,v)) 
 +         v = (fc-t)*vc; cut = True 
 +      else: v = v + (fc-sc)*vc; cut = False 
 +   if v > 0: b.append((i,i+1,v))
    return(b)    return(b)
  
 >>> A = [(2,6,1),(8,9,3),(10,13,2),(13,15,4),(18,19,1)] >>> A = [(2,6,1),(8,9,3),(10,13,2),(13,15,4),(18,19,1)]
 >>> P = [0,4,11,15,17,20] >>> P = [0,4,11,15,17,20]
->>> A 
-[(2, 6, 1), (8, 9, 3), (10, 13, 2), (13, 15, 4), (18, 19, 1)] 
->>> P 
-[0, 4, 11, 15, 17, 20] 
 >>> changeTime(A,P) >>> changeTime(A,P)
 [(1, 2, 2), (2, 3, 7), (3, 4, 12), (5, 6, 1)] [(1, 2, 2), (2, 3, 7), (3, 4, 12), (5, 6, 1)]
notes/peere/time.txt · Last modified: 2019/05/01 22:44 by vlado
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki