projects
/
tatoo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
WIP
[tatoo.git]
/
src
/
ata.ml
diff --git
a/src/ata.ml
b/src/ata.ml
index
565dfc8
..
8a13705
100644
(file)
--- a/
src/ata.ml
+++ b/
src/ata.ml
@@
-451,8
+451,11
@@
let compute_rank auto =
let upward = [ `Stay ; `Parent ; `Previous_sibling ] in
let downward = [ `Stay; `First_child; `Next_sibling ] in
let swap dir = if dir == upward then downward else upward in
let upward = [ `Stay ; `Parent ; `Previous_sibling ] in
let downward = [ `Stay; `First_child; `Next_sibling ] in
let swap dir = if dir == upward then downward else upward in
- let is_satisfied q t =
- Move.for_all (fun _ set -> StateSet.(is_empty (remove q set))) t
+ let is_satisfied dir q t =
+ Move.for_all (fun d set ->
+ if List.mem d dir then
+ StateSet.(is_empty (remove q set))
+ else StateSet.is_empty set) t
in
let update_dependencies dir initacc =
let rec loop acc =
in
let update_dependencies dir initacc =
let rec loop acc =
@@
-464,7
+467,7
@@
let compute_rank auto =
Move.set deps m (StateSet.diff (Move.get deps m) to_remove)
)
dir;
Move.set deps m (StateSet.diff (Move.get deps m) to_remove)
)
dir;
- if is_satisfied q deps then StateSet.add q acc else acc
+ if is_satisfied
dir
q deps then StateSet.add q acc else acc
) dependencies acc
in
if acc == new_acc then new_acc else loop new_acc
) dependencies acc
in
if acc == new_acc then new_acc else loop new_acc