concretizer bugfix: *at most* one provider for any virtual
This commit is contained in:
parent
04295f6531
commit
e31be3da56
@ -33,9 +33,9 @@ depends_on(P, D, T) :- declared_dependency(P, D, T), not virtual(D), node(P).
|
|||||||
1 { depends_on(P, Q, T) : provides_virtual(Q, V) } 1
|
1 { depends_on(P, Q, T) : provides_virtual(Q, V) } 1
|
||||||
:- declared_dependency(P, V, T), virtual(V), node(P).
|
:- declared_dependency(P, V, T), virtual(V), node(P).
|
||||||
|
|
||||||
% for any virtual, there can only be one node providing it in the DAG
|
% for any virtual, there can be at most one provider in the DAG
|
||||||
provider(P, V) :- node(P), provides_virtual(P, V).
|
provider(P, V) :- node(P), provides_virtual(P, V).
|
||||||
1 { provider(P, V) : node(P) } 1 :- virtual(V).
|
0 { provider(P, V) : node(P) } 1 :- virtual(V).
|
||||||
|
|
||||||
% give dependents the virtuals they want
|
% give dependents the virtuals they want
|
||||||
provider_weight(D, N)
|
provider_weight(D, N)
|
||||||
|
Loading…
Reference in New Issue
Block a user