ryukzak / nitta

BSD 3-Clause "New" or "Revised" License
21 stars 6 forks source link

Introduce ProcessWaves #209

Closed BasicEC closed 2 years ago

BasicEC commented 2 years ago

part of #155

Note that behavior of some function has changed.

  1. See changes in test for reorder algorithm (Now we save original order of the functions that could be execute in parallel)
  2. See estimateWaves function It used to be
    
    let f = estimateWaves :: [F String Int] -> [String] -> M.Map String Int
     l1 = loop 0 "b2" ["a1"]
     l2 = loop 1 "c" ["b1", "b2"]
     a = add "a1" "b1" ["c"]
     M.fromList [] @=? f [l1, l2, a] [] -- because there's no ready vars

let f = estimateWaves :: [F String Int] -> [String] -> M.Map String Int l1 = loop 0 "b2" ["a1"] l2 = loop 1 "c" ["b1", "b2"] a = add "a1" "b1" ["c"] M.fromList [("a1",0),("b1",1),("b2",1),("c",0)] @=? f [l1, l2, a] ["a1", "b1", "b2"]


And current behavior are visible in tests
ryukzak commented 2 years ago

Sorry for such amount of notes…