concretizer: optimized loop on node platforms
We can speed-up the computation by avoiding a double loop in a cardinality constraint and enforcing the rule instead as an integrity constraint.
This commit is contained in:
parent
cb76c5a90d
commit
4bbc6eec51
@ -362,7 +362,7 @@ variant_default_value(Package, Variant, Value)
|
|||||||
% when assigned a value.
|
% when assigned a value.
|
||||||
auto_variant("dev_path").
|
auto_variant("dev_path").
|
||||||
auto_variant("patches").
|
auto_variant("patches").
|
||||||
variant(Package, "dev_path")
|
variant(Package, Variant)
|
||||||
:- variant_set(Package, Variant, _), auto_variant(Variant).
|
:- variant_set(Package, Variant, _), auto_variant(Variant).
|
||||||
variant_single_value(Package, "dev_path")
|
variant_single_value(Package, "dev_path")
|
||||||
:- variant_set(Package, "dev_path", _).
|
:- variant_set(Package, "dev_path", _).
|
||||||
@ -381,9 +381,9 @@ variant_single_value(Package, "dev_path")
|
|||||||
%-----------------------------------------------------------------------------
|
%-----------------------------------------------------------------------------
|
||||||
% Platform semantics
|
% Platform semantics
|
||||||
%-----------------------------------------------------------------------------
|
%-----------------------------------------------------------------------------
|
||||||
|
|
||||||
% one platform per node
|
% one platform per node
|
||||||
1 { node_platform(Package, Platform) : node_platform(Packagee, Platform) } 1
|
:- M = #count { Platform : node_platform(Package, Platform) }, M !=1, node(Package).
|
||||||
:- node(Package).
|
|
||||||
|
|
||||||
% if no platform is set, fall back to the default
|
% if no platform is set, fall back to the default
|
||||||
node_platform(Package, Platform)
|
node_platform(Package, Platform)
|
||||||
|
Loading…
Reference in New Issue
Block a user