summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorArielG-NV <159081215+ArielG-NV@users.noreply.github.com>2024-06-06 17:35:40 -0400
committerGitHub <noreply@github.com>2024-06-06 17:35:40 -0400
commita709e029df959efa9c0aa73f42cbe972fc26c5b6 (patch)
treeb691db389e0537e94bb9ceede756eebd97f1572a /examples
parentd301267ccba581dd7af9237d88418d9f7aeb39e1 (diff)
Update capability-generator-main.cpp (#4295)
fixes: #4293 Currently the code does: ``` void inclusiveJoinConjunction(CapabilitySharedContext& context, CapabilityConjunction& c, List<CapabilityConjunction>& toAddAfter) { if (c.isImpossible()) return; for (auto& conjunction : conjunctions) { if (c.implies(conjunction)) return; } ``` This is incorrect because it means that "if the set we are going to add is a super set of an element, don't add it". This does not make sense since inclusive join is meant to be 'additive' of super sets. Correct behavior code: ``` void inclusiveJoinConjunction(CapabilitySharedContext& context, CapabilityConjunction& c, List<CapabilityConjunction>& toAddAfter) { if (c.isImpossible()) return; for (auto& conjunction : conjunctions) { if (conjunction.implies(c)) return; } ``` This is correct behavior because it means that: "if the set we are going to add is a sub set of an element, ignore it". This makes sense since inclusive join can then add super sets in-place of subsets
Diffstat (limited to 'examples')
0 files changed, 0 insertions, 0 deletions