MCPcopy Create free account
hub / github.com/apache/calcite / implies

Method implies

core/src/main/java/org/apache/calcite/util/ArrowSet.java:284–290  ·  view source on GitHub ↗

Returns true if, from this ArrowSet, one can deduce that determinants determine dependents. That is, if dependents ⊆ closure(determinants).

(ImmutableBitSet determinants, ImmutableBitSet dependents)

Source from the content-addressed store, hash-verified

282 * if {@code dependents} ⊆ closure({@code determinants}).
283 */
284 public boolean implies(ImmutableBitSet determinants, ImmutableBitSet dependents) {
285 ImmutableBitSet dets = determinantsToDependentsMap.get(determinants);
286 if (dets != null && dets.contains(dependents)) {
287 return true;
288 }
289 return dependents(determinants).contains(dependents);
290 }
291
292 /**
293 * Builder for ArrowSet.

Callers 8

testFDUnionMethod · 0.95
testTransitiveMethod · 0.95
testMinimalArrowSetMethod · 0.95
determinesSetMethod · 0.95
getProjectionFDMethod · 0.95
equalToMethod · 0.45
checkImpliesMethod · 0.45
checkNotImpliesMethod · 0.45

Calls 4

containsMethod · 0.95
dependentsMethod · 0.95
getMethod · 0.65
containsMethod · 0.65

Tested by 5

testFDUnionMethod · 0.76
testTransitiveMethod · 0.76
testMinimalArrowSetMethod · 0.76
checkImpliesMethod · 0.36
checkNotImpliesMethod · 0.36