test_class.file: splitmap/src/test/java/com/openkappa/splitmap/CircuitsTest.java
test_class.identifier: CircuitsTest
test_case.body: @Test
    public void testCircuit() {
      SplitMapPageWriter w1 = new SplitMapPageWriter();
      w1.add(0);
      w1.add(1);
      w1.add(1 << 16);
      w1.add(1 << 16 | 1);
      w1.add(1 << 17 | 1);
  
      SplitMapPageWriter w2 = new SplitMapPageWriter();
      w2.add(0);
      w2.add(2);
      w2.add(1 << 16);
      w2.add(1 << 16 | 2);
      w2.add(1 << 17 | 2);
  
      SplitMap result = Circuits.evaluate(contextOf(w1, w2), slice -> null == slice ? null : slice.get(0).xor(slice.get(1)), 0, 1);
  
      assertTrue(result.contains(1));
      assertTrue(result.contains(2));
      assertTrue(result.contains(1 << 16 | 1));
      assertTrue(result.contains(1 << 16 | 2));
      assertTrue(result.contains(1 << 17 | 1));
      assertTrue(result.contains(1 << 17 | 2));
    }
test_case.class_method_signature: CircuitsTest.testCircuit()
test_case.full_signature: @Test public void testCircuit()
test_case.identifier: testCircuit
test_case.invocations: add add add add add add add add add add evaluate contextOf xor get get assertTrue contains assertTrue contains assertTrue contains assertTrue contains assertTrue contains assertTrue contains
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCircuit()
focal_class.declarator: EMPTY = new ArrayContainer()
focal_class.modifier: private static final
focal_class.original_string: private static final Container EMPTY = new ArrayContainer();
focal_class.type: Container
focal_class.var_name: EMPTY
focal_class.file: splitmap/src/main/java/com/openkappa/splitmap/Circuits.java
focal_class.identifier: Circuits
focal_class.class_method_signature: Circuits.evaluateIfKeysIntersect(QueryContext<Filter, ?> context,
                                     Function<Slice<Filter, Container>, Container> circuit,
                                     Filter... filters)
focal_class.full_signature: public static SplitMap evaluateIfKeysIntersect(QueryContext<Filter, ?> context,
                                     Function<Slice<Filter, Container>, Container> circuit,
                                     Filter... filters)
focal_class.identifier: evaluateIfKeysIntersect
focal_class.modifiers: public static
focal_class.parameters: (QueryContext<Filter, ?> context,
                                     Function<Slice<Filter, Container>, Container> circuit,
                                     Filter... filters)
focal_class.return: SplitMap
focal_class.signature: SplitMap evaluateIfKeysIntersect(QueryContext<Filter, ?> context,
                                     Function<Slice<Filter, Container>, Container> circuit,
                                     Filter... filters)
focal_class.class_method_signature: Circuits.evaluate(QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)
focal_class.full_signature: public static SplitMap evaluate(QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)
focal_class.identifier: evaluate
focal_class.modifiers: public static
focal_class.parameters: (QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)
focal_class.return: SplitMap
focal_class.signature: SplitMap evaluate(QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)
focal_class.class_method_signature: Circuits.groupByKey(QueryContext<Filter, ?> context,
                                             T defaultValue, Filter... filters)
focal_class.full_signature: static PrefixIndex<Slice<Filter, T>> groupByKey(QueryContext<Filter, ?> context,
                                             T defaultValue, Filter... filters)
focal_class.identifier: groupByKey
focal_class.modifiers: static
focal_class.parameters: (QueryContext<Filter, ?> context,
                                             T defaultValue, Filter... filters)
focal_class.return: PrefixIndex<Slice<Filter, T>>
focal_class.signature: PrefixIndex<Slice<Filter, T>> groupByKey(QueryContext<Filter, ?> context,
                                             T defaultValue, Filter... filters)
focal_class.class_method_signature: Circuits.groupByIntersectingKeys(QueryContext<Filter, ?> context,
                                                          T defaultValue,
                                                          Filter... filters)
focal_class.full_signature: static PrefixIndex<Slice<Filter, T>> groupByIntersectingKeys(QueryContext<Filter, ?> context,
                                                          T defaultValue,
                                                          Filter... filters)
focal_class.identifier: groupByIntersectingKeys
focal_class.modifiers: static
focal_class.parameters: (QueryContext<Filter, ?> context,
                                                          T defaultValue,
                                                          Filter... filters)
focal_class.return: PrefixIndex<Slice<Filter, T>>
focal_class.signature: PrefixIndex<Slice<Filter, T>> groupByIntersectingKeys(QueryContext<Filter, ?> context,
                                                          T defaultValue,
                                                          Filter... filters)
focal_class.class_method_signature: Circuits.groupByKey(QueryContext<Filter, ?> context,
                                             LongBinaryOperator op,
                                             long identity,
                                             T defaultValue,
                                             Filter... filters)
focal_class.full_signature: private static PrefixIndex<Slice<Filter, T>> groupByKey(QueryContext<Filter, ?> context,
                                             LongBinaryOperator op,
                                             long identity,
                                             T defaultValue,
                                             Filter... filters)
focal_class.identifier: groupByKey
focal_class.modifiers: private static
focal_class.parameters: (QueryContext<Filter, ?> context,
                                             LongBinaryOperator op,
                                             long identity,
                                             T defaultValue,
                                             Filter... filters)
focal_class.return: PrefixIndex<Slice<Filter, T>>
focal_class.signature: PrefixIndex<Slice<Filter, T>> groupByKey(QueryContext<Filter, ?> context,
                                             LongBinaryOperator op,
                                             long identity,
                                             T defaultValue,
                                             Filter... filters)
focal_method.body: public static <Filter>
    SplitMap evaluate(QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters) {
      return new SplitMap(groupByKey(context, EMPTY, filters)
              .streamUniformPartitions()
              .parallel()
              .collect(new IndexAggregator<>(circuit)));
    }
focal_method.class_method_signature: Circuits.evaluate(QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)
focal_method.full_signature: public static SplitMap evaluate(QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)
focal_method.identifier: evaluate
focal_method.invocations: collect parallel streamUniformPartitions groupByKey
focal_method.modifiers: public static
focal_method.parameters: (QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)
focal_method.return: SplitMap
focal_method.signature: SplitMap evaluate(QueryContext<Filter, ?> context,
                      Function<Slice<Filter, Container>, Container> circuit,
                      Filter... filters)