MCPcopy Create free account
hub / github.com/antlr/codebuff / aggregateBelowRange

Method aggregateBelowRange

output/java_guava/1.4.17/TreeMultiset.java:185–205  ·  view source on GitHub ↗
(Aggregate aggr, @Nullable AvlNode<E> node)

Source from the content-addressed store, hash-verified

183 }
184
185 private long aggregateBelowRange(Aggregate aggr, @Nullable AvlNode<E> node) {
186 if (node == null) {
187 return 0;
188 }
189 int cmp = comparator().compare(range.getLowerEndpoint(), node.elem);
190 if (cmp < 0) {
191 return aggregateBelowRange(aggr, node.left);
192 } else if (cmp == 0) {
193 switch (range.getLowerBoundType()) {
194 case OPEN:
195 return aggr.nodeAggregate(node) + aggr.treeAggregate(node.left);
196 case CLOSED:
197 return aggr.treeAggregate(node.left);
198 default:
199 throw new AssertionError();
200 }
201 } else {
202 return aggr.treeAggregate(node.left) + aggr.nodeAggregate(node)
203 + aggregateBelowRange(aggr, node.right);
204 }
205 }
206
207 private long aggregateAboveRange(Aggregate aggr, @Nullable AvlNode<E> node) {
208 if (node == null) {

Callers 1

aggregateForEntriesMethod · 0.95

Calls 6

comparatorMethod · 0.65
compareMethod · 0.45
getLowerEndpointMethod · 0.45
getLowerBoundTypeMethod · 0.45
nodeAggregateMethod · 0.45
treeAggregateMethod · 0.45

Tested by

no test coverage detected