test_class.file: imhotep-server/src/test/java/com/indeed/imhotep/local/TestImhotepLocalSession.java
test_class.identifier: TestImhotepLocalSession
test_case.body: @Test
      public void testIntMultisplitEqualityInputValidation() throws ImhotepOutOfMemoryException {
          final List<String> fields = Arrays.asList("if1");
          final List<String> emptyList = Arrays.<String> asList();
          MockFlamdexReader r = new MockFlamdexReader(fields, emptyList, emptyList, 10);
          ImhotepLocalSession session = new ImhotepLocalSession(r);
          // verify doesn't fail
          session.regroup(new GroupMultiRemapRule[] { new GroupMultiRemapRule(
                                                                              1,
                                                                              5,
                                                                              new int[] { 1, 2 },
                                                                              new RegroupCondition[] {
                                                                                                      new RegroupCondition(
                                                                                                                           "if1",
                                                                                                                           true,
                                                                                                                           1,
                                                                                                                           null,
                                                                                                                           false),
                                                                                                      new RegroupCondition(
                                                                                                                           "if1",
                                                                                                                           true,
                                                                                                                           1,
                                                                                                                           null,
                                                                                                                           true)
  
                                                                              }) });
          try {
              session.regroup(new GroupMultiRemapRule[] { new GroupMultiRemapRule(
                                                                                  1,
                                                                                  5,
                                                                                  new int[] { 1, 2 },
                                                                                  new RegroupCondition[] {
                                                                                                          new RegroupCondition(
                                                                                                                               "if1",
                                                                                                                               true,
                                                                                                                               1,
                                                                                                                               null,
                                                                                                                               false),
                                                                                                          new RegroupCondition(
                                                                                                                               "if1",
                                                                                                                               true,
                                                                                                                               1,
                                                                                                                               null,
                                                                                                                               false) }) });
              fail("Improperly handles unreachable equality splits");
          } catch (IllegalArgumentException e) {
          }
      }
test_case.class_method_signature: TestImhotepLocalSession.testIntMultisplitEqualityInputValidation()
test_case.full_signature: @Test public void testIntMultisplitEqualityInputValidation()
test_case.identifier: testIntMultisplitEqualityInputValidation
test_case.invocations: asList asList regroup regroup fail
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testIntMultisplitEqualityInputValidation()
focal_class.declarator: log = Logger.getLogger(ImhotepLocalSession.class)
focal_class.modifier: static final
focal_class.original_string: static final Logger log = Logger.getLogger(ImhotepLocalSession.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: logTiming
focal_class.modifier: static final
focal_class.original_string: static final boolean logTiming;
focal_class.type: boolean
focal_class.var_name: logTiming
focal_class.declarator: MAX_NUMBER_STATS = 64
focal_class.modifier: private static final
focal_class.original_string: private static final int MAX_NUMBER_STATS = 64;
focal_class.type: int
focal_class.var_name: MAX_NUMBER_STATS
focal_class.declarator: BUFFER_SIZE = 2048
focal_class.modifier: static final
focal_class.original_string: static final int BUFFER_SIZE = 2048;
focal_class.type: int
focal_class.var_name: BUFFER_SIZE
focal_class.declarator: tempFileSizeBytesLeft
focal_class.modifier: private final
focal_class.original_string: private final AtomicLong tempFileSizeBytesLeft;
focal_class.type: AtomicLong
focal_class.var_name: tempFileSizeBytesLeft
focal_class.declarator: numDocs
focal_class.modifier: private
focal_class.original_string: private int numDocs;
focal_class.type: int
focal_class.var_name: numDocs
focal_class.declarator: docIdBuf = new int[BUFFER_SIZE]
focal_class.modifier: final
focal_class.original_string: final int[] docIdBuf = new int[BUFFER_SIZE];
focal_class.type: int[]
focal_class.var_name: docIdBuf
focal_class.declarator: valBuf = new long[BUFFER_SIZE]
focal_class.modifier: final
focal_class.original_string: final long[] valBuf = new long[BUFFER_SIZE];
focal_class.type: long[]
focal_class.var_name: valBuf
focal_class.declarator: docGroupBuffer = new int[BUFFER_SIZE]
focal_class.modifier: final
focal_class.original_string: final int[] docGroupBuffer = new int[BUFFER_SIZE];
focal_class.type: int[]
focal_class.var_name: docGroupBuffer
focal_class.declarator: flamdexReader
focal_class.modifier: private
focal_class.original_string: private FlamdexReader flamdexReader;
focal_class.type: FlamdexReader
focal_class.var_name: flamdexReader
focal_class.declarator: flamdexReaderRef
focal_class.modifier: private
focal_class.original_string: private SharedReference<FlamdexReader> flamdexReaderRef;
focal_class.type: SharedReference<FlamdexReader>
focal_class.var_name: flamdexReaderRef
focal_class.declarator: originalReader
focal_class.modifier: private
focal_class.original_string: private FlamdexReader originalReader;
focal_class.type: FlamdexReader
focal_class.var_name: originalReader
focal_class.declarator: originalReaderRef
focal_class.modifier: private
focal_class.original_string: private SharedReference<FlamdexReader> originalReaderRef;
focal_class.type: SharedReference<FlamdexReader>
focal_class.var_name: originalReaderRef
focal_class.declarator: optimizedIndexesDir
focal_class.modifier: private final
focal_class.original_string: private final String optimizedIndexesDir;
focal_class.type: String
focal_class.var_name: optimizedIndexesDir
focal_class.declarator: memory
focal_class.modifier: final
focal_class.original_string: final MemoryReservationContext memory;
focal_class.type: MemoryReservationContext
focal_class.var_name: memory
focal_class.declarator: docIdToGroup
focal_class.original_string: GroupLookup docIdToGroup;
focal_class.type: GroupLookup
focal_class.var_name: docIdToGroup
focal_class.declarator: groupDocCount
focal_class.original_string: int[] groupDocCount;
focal_class.type: int[]
focal_class.var_name: groupDocCount
focal_class.declarator: numStats
focal_class.original_string: int numStats;
focal_class.type: int
focal_class.var_name: numStats
focal_class.declarator: groupStats = new long[MAX_NUMBER_STATS][]
focal_class.modifier: private
focal_class.original_string: private long[][] groupStats = new long[MAX_NUMBER_STATS][];
focal_class.type: long[][]
focal_class.var_name: groupStats
focal_class.declarator: statLookup = new IntValueLookup[MAX_NUMBER_STATS]
focal_class.modifier: final
focal_class.original_string: final IntValueLookup[] statLookup = new IntValueLookup[MAX_NUMBER_STATS];
focal_class.type: IntValueLookup[]
focal_class.var_name: statLookup
focal_class.declarator: statCommands
focal_class.modifier: private final
focal_class.original_string: private final List<String> statCommands;
focal_class.type: List<String>
focal_class.var_name: statCommands
focal_class.declarator: needToReCalcGroupStats = new boolean[MAX_NUMBER_STATS]
focal_class.modifier: private final
focal_class.original_string: private final boolean[] needToReCalcGroupStats = new boolean[MAX_NUMBER_STATS];
focal_class.type: boolean[]
focal_class.var_name: needToReCalcGroupStats
focal_class.declarator: closed = false
focal_class.modifier: private
focal_class.original_string: private boolean closed = false;
focal_class.type: boolean
focal_class.var_name: closed
focal_class.declarator: dynamicMetrics = Maps.newHashMap()
focal_class.modifier: @VisibleForTesting
      private
focal_class.original_string: @VisibleForTesting
      private Map<String, DynamicMetric> dynamicMetrics = Maps.newHashMap();
focal_class.type: Map<String, DynamicMetric>
focal_class.var_name: dynamicMetrics
focal_class.declarator: fieldZeroDocBitsets
focal_class.original_string: Map<Pair<String, Boolean>, FastBitSet> fieldZeroDocBitsets;
focal_class.type: Map<Pair<String, Boolean>, FastBitSet>
focal_class.var_name: fieldZeroDocBitsets
focal_class.declarator: constructorStackTrace
focal_class.modifier: private final
focal_class.original_string: private final Exception constructorStackTrace;
focal_class.type: Exception
focal_class.var_name: constructorStackTrace
focal_class.declarator: optimizationLog
focal_class.modifier: private final
focal_class.original_string: private final File optimizationLog;
focal_class.type: File
focal_class.var_name: optimizationLog
focal_class.declarator: ftgsIteratorSplits
focal_class.modifier: private
focal_class.original_string: private FTGSSplitter ftgsIteratorSplits;
focal_class.type: FTGSSplitter
focal_class.var_name: ftgsIteratorSplits
focal_class.declarator: INT_FREQ_COMPARATOR =
              new Comparator<IntTermWithFreq>() {
                  @Override
                  public int compare(IntTermWithFreq o1, IntTermWithFreq o2) {
                      return Ints.compare(o1.docFreq, o2.docFreq);
                  }
              }
focal_class.modifier: private static final
focal_class.original_string: private static final Comparator<IntTermWithFreq> INT_FREQ_COMPARATOR =
              new Comparator<IntTermWithFreq>() {
                  @Override
                  public int compare(IntTermWithFreq o1, IntTermWithFreq o2) {
                      return Ints.compare(o1.docFreq, o2.docFreq);
                  }
              };
focal_class.type: Comparator<IntTermWithFreq>
focal_class.var_name: INT_FREQ_COMPARATOR
focal_class.declarator: STRING_FREQ_COMPARATOR =
              new Comparator<StringTermWithFreq>() {
                  @Override
                  public int compare(StringTermWithFreq o1, StringTermWithFreq o2) {
                      return Ints.compare(o1.docFreq, o2.docFreq);
                  }
              }
focal_class.modifier: private static final
focal_class.original_string: private static final Comparator<StringTermWithFreq> STRING_FREQ_COMPARATOR =
              new Comparator<StringTermWithFreq>() {
                  @Override
                  public int compare(StringTermWithFreq o1, StringTermWithFreq o2) {
                      return Ints.compare(o1.docFreq, o2.docFreq);
                  }
              };
focal_class.type: Comparator<StringTermWithFreq>
focal_class.var_name: STRING_FREQ_COMPARATOR
focal_class.declarator: decimalPattern = "-?[0-9]*\\.?[0-9]+"
focal_class.modifier: private static final
focal_class.original_string: private static final String decimalPattern = "-?[0-9]*\\.?[0-9]+";
focal_class.type: String
focal_class.var_name: decimalPattern
focal_class.declarator: floatScalePattern =
              Pattern.compile("floatscale\\s+(\\w+)\\s*\\*\\s*(" + decimalPattern + ")\\s*\\+\\s*("
                      + decimalPattern + ")")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern floatScalePattern =
              Pattern.compile("floatscale\\s+(\\w+)\\s*\\*\\s*(" + decimalPattern + ")\\s*\\+\\s*("
                      + decimalPattern + ")");
focal_class.type: Pattern
focal_class.var_name: floatScalePattern
focal_class.file: imhotep-server/src/main/java/com/indeed/imhotep/local/ImhotepLocalSession.java
focal_class.identifier: ImhotepLocalSession
focal_class.class_method_signature: ImhotepLocalSession.ImhotepLocalSession(final FlamdexReader flamdexReader)
focal_class.full_signature: public  ImhotepLocalSession(final FlamdexReader flamdexReader)
focal_class.identifier: ImhotepLocalSession
focal_class.modifiers: public
focal_class.parameters: (final FlamdexReader flamdexReader)
focal_class.signature:  ImhotepLocalSession(final FlamdexReader flamdexReader)
focal_class.class_method_signature: ImhotepLocalSession.ImhotepLocalSession(FlamdexReader flamdexReader, boolean optimizeGroupZeroLookups)
focal_class.full_signature: public  ImhotepLocalSession(FlamdexReader flamdexReader, boolean optimizeGroupZeroLookups)
focal_class.identifier: ImhotepLocalSession
focal_class.modifiers: public
focal_class.parameters: (FlamdexReader flamdexReader, boolean optimizeGroupZeroLookups)
focal_class.signature:  ImhotepLocalSession(FlamdexReader flamdexReader, boolean optimizeGroupZeroLookups)
focal_class.class_method_signature: ImhotepLocalSession.ImhotepLocalSession(final FlamdexReader flamdexReader,
                                 String optimizedIndexDirectory,
                                 final MemoryReservationContext memory,
                                 boolean optimizeGroupZeroLookups,
                                 AtomicLong tempFileSizeBytesLeft)
focal_class.full_signature: public  ImhotepLocalSession(final FlamdexReader flamdexReader,
                                 String optimizedIndexDirectory,
                                 final MemoryReservationContext memory,
                                 boolean optimizeGroupZeroLookups,
                                 AtomicLong tempFileSizeBytesLeft)
focal_class.identifier: ImhotepLocalSession
focal_class.modifiers: public
focal_class.parameters: (final FlamdexReader flamdexReader,
                                 String optimizedIndexDirectory,
                                 final MemoryReservationContext memory,
                                 boolean optimizeGroupZeroLookups,
                                 AtomicLong tempFileSizeBytesLeft)
focal_class.signature:  ImhotepLocalSession(final FlamdexReader flamdexReader,
                                 String optimizedIndexDirectory,
                                 final MemoryReservationContext memory,
                                 boolean optimizeGroupZeroLookups,
                                 AtomicLong tempFileSizeBytesLeft)
focal_class.class_method_signature: ImhotepLocalSession.getReader()
focal_class.full_signature:  FlamdexReader getReader()
focal_class.identifier: getReader
focal_class.parameters: ()
focal_class.return: FlamdexReader
focal_class.signature: FlamdexReader getReader()
focal_class.class_method_signature: ImhotepLocalSession.getDynamicMetrics()
focal_class.full_signature: public Map<String, DynamicMetric> getDynamicMetrics()
focal_class.identifier: getDynamicMetrics
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<String, DynamicMetric>
focal_class.signature: Map<String, DynamicMetric> getDynamicMetrics()
focal_class.class_method_signature: ImhotepLocalSession.getNumDocs()
focal_class.full_signature:  int getNumDocs()
focal_class.identifier: getNumDocs
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getNumDocs()
focal_class.class_method_signature: ImhotepLocalSession.createNewTempWriter(int maxDocs)
focal_class.full_signature: private SimpleFlamdexWriter createNewTempWriter(int maxDocs)
focal_class.identifier: createNewTempWriter
focal_class.modifiers: private
focal_class.parameters: (int maxDocs)
focal_class.return: SimpleFlamdexWriter
focal_class.signature: SimpleFlamdexWriter createNewTempWriter(int maxDocs)
focal_class.class_method_signature: ImhotepLocalSession.rebuildAndFilterIndexes(@Nonnull final List<String> intFields,
                                                       @Nonnull final List<String> stringFields)
focal_class.full_signature: @Override public synchronized void rebuildAndFilterIndexes(@Nonnull final List<String> intFields,
                                                       @Nonnull final List<String> stringFields)
focal_class.identifier: rebuildAndFilterIndexes
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (@Nonnull final List<String> intFields,
                                                       @Nonnull final List<String> stringFields)
focal_class.return: void
focal_class.signature: void rebuildAndFilterIndexes(@Nonnull final List<String> intFields,
                                                       @Nonnull final List<String> stringFields)
focal_class.class_method_signature: ImhotepLocalSession.resetOptimizedReaders()
focal_class.full_signature: private synchronized void resetOptimizedReaders()
focal_class.identifier: resetOptimizedReaders
focal_class.modifiers: private synchronized
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void resetOptimizedReaders()
focal_class.class_method_signature: ImhotepLocalSession.exportDocIdToGroupId(int[] array)
focal_class.full_signature: public synchronized void exportDocIdToGroupId(int[] array)
focal_class.identifier: exportDocIdToGroupId
focal_class.modifiers: public synchronized
focal_class.parameters: (int[] array)
focal_class.return: void
focal_class.signature: void exportDocIdToGroupId(int[] array)
focal_class.class_method_signature: ImhotepLocalSession.getTotalDocFreq(String[] intFields, String[] stringFields)
focal_class.full_signature: @Override public synchronized long getTotalDocFreq(String[] intFields, String[] stringFields)
focal_class.identifier: getTotalDocFreq
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String[] intFields, String[] stringFields)
focal_class.return: long
focal_class.signature: long getTotalDocFreq(String[] intFields, String[] stringFields)
focal_class.class_method_signature: ImhotepLocalSession.getFTGSIterator(String[] intFields, String[] stringFields)
focal_class.full_signature: @Override public synchronized FTGSIterator getFTGSIterator(String[] intFields, String[] stringFields)
focal_class.identifier: getFTGSIterator
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String[] intFields, String[] stringFields)
focal_class.return: FTGSIterator
focal_class.signature: FTGSIterator getFTGSIterator(String[] intFields, String[] stringFields)
focal_class.class_method_signature: ImhotepLocalSession.getSubsetFTGSIterator(Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.full_signature: @Override public FTGSIterator getSubsetFTGSIterator(Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.identifier: getSubsetFTGSIterator
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.return: FTGSIterator
focal_class.signature: FTGSIterator getSubsetFTGSIterator(Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.class_method_signature: ImhotepLocalSession.getDocIterator(final String[] intFields, final String[] stringFields)
focal_class.full_signature: public DocIterator getDocIterator(final String[] intFields, final String[] stringFields)
focal_class.identifier: getDocIterator
focal_class.modifiers: public
focal_class.parameters: (final String[] intFields, final String[] stringFields)
focal_class.return: DocIterator
focal_class.signature: DocIterator getDocIterator(final String[] intFields, final String[] stringFields)
focal_class.class_method_signature: ImhotepLocalSession.emptyDocIterator()
focal_class.full_signature: private static DocIterator emptyDocIterator()
focal_class.identifier: emptyDocIterator
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: DocIterator
focal_class.signature: DocIterator emptyDocIterator()
focal_class.class_method_signature: ImhotepLocalSession.getFTGSIteratorSplits(final String[] intFields, final String[] stringFields)
focal_class.full_signature: public RawFTGSIterator[] getFTGSIteratorSplits(final String[] intFields, final String[] stringFields)
focal_class.identifier: getFTGSIteratorSplits
focal_class.modifiers: public
focal_class.parameters: (final String[] intFields, final String[] stringFields)
focal_class.return: RawFTGSIterator[]
focal_class.signature: RawFTGSIterator[] getFTGSIteratorSplits(final String[] intFields, final String[] stringFields)
focal_class.class_method_signature: ImhotepLocalSession.getFTGSIteratorSplit(final String[] intFields,
                                                               final String[] stringFields,
                                                               final int splitIndex,
                                                               final int numSplits)
focal_class.full_signature: public synchronized RawFTGSIterator getFTGSIteratorSplit(final String[] intFields,
                                                               final String[] stringFields,
                                                               final int splitIndex,
                                                               final int numSplits)
focal_class.identifier: getFTGSIteratorSplit
focal_class.modifiers: public synchronized
focal_class.parameters: (final String[] intFields,
                                                               final String[] stringFields,
                                                               final int splitIndex,
                                                               final int numSplits)
focal_class.return: RawFTGSIterator
focal_class.signature: RawFTGSIterator getFTGSIteratorSplit(final String[] intFields,
                                                               final String[] stringFields,
                                                               final int splitIndex,
                                                               final int numSplits)
focal_class.class_method_signature: ImhotepLocalSession.getSubsetFTGSIteratorSplits(Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.full_signature: @Override public RawFTGSIterator[] getSubsetFTGSIteratorSplits(Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.identifier: getSubsetFTGSIteratorSplits
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.return: RawFTGSIterator[]
focal_class.signature: RawFTGSIterator[] getSubsetFTGSIteratorSplits(Map<String, long[]> intFields, Map<String, String[]> stringFields)
focal_class.class_method_signature: ImhotepLocalSession.getSubsetFTGSIteratorSplit(Map<String, long[]> intFields, Map<String, String[]> stringFields, int splitIndex, int numSplits)
focal_class.full_signature: @Override public synchronized RawFTGSIterator getSubsetFTGSIteratorSplit(Map<String, long[]> intFields, Map<String, String[]> stringFields, int splitIndex, int numSplits)
focal_class.identifier: getSubsetFTGSIteratorSplit
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (Map<String, long[]> intFields, Map<String, String[]> stringFields, int splitIndex, int numSplits)
focal_class.return: RawFTGSIterator
focal_class.signature: RawFTGSIterator getSubsetFTGSIteratorSplit(Map<String, long[]> intFields, Map<String, String[]> stringFields, int splitIndex, int numSplits)
focal_class.class_method_signature: ImhotepLocalSession.mergeFTGSSplit(final String[] intFields,
                                            final String[] stringFields,
                                            final String sessionId,
                                            final InetSocketAddress[] nodes,
                                            final int splitIndex)
focal_class.full_signature: public RawFTGSIterator mergeFTGSSplit(final String[] intFields,
                                            final String[] stringFields,
                                            final String sessionId,
                                            final InetSocketAddress[] nodes,
                                            final int splitIndex)
focal_class.identifier: mergeFTGSSplit
focal_class.modifiers: public
focal_class.parameters: (final String[] intFields,
                                            final String[] stringFields,
                                            final String sessionId,
                                            final InetSocketAddress[] nodes,
                                            final int splitIndex)
focal_class.return: RawFTGSIterator
focal_class.signature: RawFTGSIterator mergeFTGSSplit(final String[] intFields,
                                            final String[] stringFields,
                                            final String sessionId,
                                            final InetSocketAddress[] nodes,
                                            final int splitIndex)
focal_class.class_method_signature: ImhotepLocalSession.mergeSubsetFTGSSplit(Map<String, long[]> intFields, Map<String, String[]> stringFields, String sessionId, InetSocketAddress[] nodes, int splitIndex)
focal_class.full_signature: @Override public RawFTGSIterator mergeSubsetFTGSSplit(Map<String, long[]> intFields, Map<String, String[]> stringFields, String sessionId, InetSocketAddress[] nodes, int splitIndex)
focal_class.identifier: mergeSubsetFTGSSplit
focal_class.modifiers: @Override public
focal_class.parameters: (Map<String, long[]> intFields, Map<String, String[]> stringFields, String sessionId, InetSocketAddress[] nodes, int splitIndex)
focal_class.return: RawFTGSIterator
focal_class.signature: RawFTGSIterator mergeSubsetFTGSSplit(Map<String, long[]> intFields, Map<String, String[]> stringFields, String sessionId, InetSocketAddress[] nodes, int splitIndex)
focal_class.class_method_signature: ImhotepLocalSession.regroup(final GroupMultiRemapRule[] rules, boolean errorOnCollisions)
focal_class.full_signature: @Override public synchronized int regroup(final GroupMultiRemapRule[] rules, boolean errorOnCollisions)
focal_class.identifier: regroup
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (final GroupMultiRemapRule[] rules, boolean errorOnCollisions)
focal_class.return: int
focal_class.signature: int regroup(final GroupMultiRemapRule[] rules, boolean errorOnCollisions)
focal_class.class_method_signature: ImhotepLocalSession.newGroupLookupWithPlaceholders(int placeholderGroup)
focal_class.full_signature: private synchronized GroupLookup newGroupLookupWithPlaceholders(int placeholderGroup)
focal_class.identifier: newGroupLookupWithPlaceholders
focal_class.modifiers: private synchronized
focal_class.parameters: (int placeholderGroup)
focal_class.return: GroupLookup
focal_class.signature: GroupLookup newGroupLookupWithPlaceholders(int placeholderGroup)
focal_class.class_method_signature: ImhotepLocalSession.regroup(final GroupRemapRule[] rawRules)
focal_class.full_signature: @Override public synchronized int regroup(final GroupRemapRule[] rawRules)
focal_class.identifier: regroup
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (final GroupRemapRule[] rawRules)
focal_class.return: int
focal_class.signature: int regroup(final GroupRemapRule[] rawRules)
focal_class.class_method_signature: ImhotepLocalSession.ensureGroupLookupCapacity(GroupRemapRule[] cleanRules)
focal_class.full_signature: private void ensureGroupLookupCapacity(GroupRemapRule[] cleanRules)
focal_class.identifier: ensureGroupLookupCapacity
focal_class.modifiers: private
focal_class.parameters: (GroupRemapRule[] cleanRules)
focal_class.return: void
focal_class.signature: void ensureGroupLookupCapacity(GroupRemapRule[] cleanRules)
focal_class.class_method_signature: ImhotepLocalSession.internalRegroup(GroupRemapRule[] rawRules)
focal_class.full_signature: private void internalRegroup(GroupRemapRule[] rawRules)
focal_class.identifier: internalRegroup
focal_class.modifiers: private
focal_class.parameters: (GroupRemapRule[] rawRules)
focal_class.return: void
focal_class.signature: void internalRegroup(GroupRemapRule[] rawRules)
focal_class.class_method_signature: ImhotepLocalSession.finalizeRegroup()
focal_class.full_signature: private void finalizeRegroup()
focal_class.identifier: finalizeRegroup
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void finalizeRegroup()
focal_class.class_method_signature: ImhotepLocalSession.accountForFlamdexFTGSIteratorMemChange(final int oldNumGroups,
                                                          final int newNumGroups)
focal_class.full_signature: private void accountForFlamdexFTGSIteratorMemChange(final int oldNumGroups,
                                                          final int newNumGroups)
focal_class.identifier: accountForFlamdexFTGSIteratorMemChange
focal_class.modifiers: private
focal_class.parameters: (final int oldNumGroups,
                                                          final int newNumGroups)
focal_class.return: void
focal_class.signature: void accountForFlamdexFTGSIteratorMemChange(final int oldNumGroups,
                                                          final int newNumGroups)
focal_class.class_method_signature: ImhotepLocalSession.regroup(QueryRemapRule rule)
focal_class.full_signature: @Override public int regroup(QueryRemapRule rule)
focal_class.identifier: regroup
focal_class.modifiers: @Override public
focal_class.parameters: (QueryRemapRule rule)
focal_class.return: int
focal_class.signature: int regroup(QueryRemapRule rule)
focal_class.class_method_signature: ImhotepLocalSession.intOrRegroup(String field,
                                            long[] terms,
                                            int targetGroup,
                                            int negativeGroup,
                                            int positiveGroup)
focal_class.full_signature: @Override public synchronized void intOrRegroup(String field,
                                            long[] terms,
                                            int targetGroup,
                                            int negativeGroup,
                                            int positiveGroup)
focal_class.identifier: intOrRegroup
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String field,
                                            long[] terms,
                                            int targetGroup,
                                            int negativeGroup,
                                            int positiveGroup)
focal_class.return: void
focal_class.signature: void intOrRegroup(String field,
                                            long[] terms,
                                            int targetGroup,
                                            int negativeGroup,
                                            int positiveGroup)
focal_class.class_method_signature: ImhotepLocalSession.stringOrRegroup(String field,
                                               String[] terms,
                                               int targetGroup,
                                               int negativeGroup,
                                               int positiveGroup)
focal_class.full_signature: @Override public synchronized void stringOrRegroup(String field,
                                               String[] terms,
                                               int targetGroup,
                                               int negativeGroup,
                                               int positiveGroup)
focal_class.identifier: stringOrRegroup
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String field,
                                               String[] terms,
                                               int targetGroup,
                                               int negativeGroup,
                                               int positiveGroup)
focal_class.return: void
focal_class.signature: void stringOrRegroup(String field,
                                               String[] terms,
                                               int targetGroup,
                                               int negativeGroup,
                                               int positiveGroup)
focal_class.class_method_signature: ImhotepLocalSession.regexRegroup(String field, String regex, int targetGroup, int negativeGroup, int positiveGroup)
focal_class.full_signature: @Override public void regexRegroup(String field, String regex, int targetGroup, int negativeGroup, int positiveGroup)
focal_class.identifier: regexRegroup
focal_class.modifiers: @Override public
focal_class.parameters: (String field, String regex, int targetGroup, int negativeGroup, int positiveGroup)
focal_class.return: void
focal_class.signature: void regexRegroup(String field, String regex, int targetGroup, int negativeGroup, int positiveGroup)
focal_class.class_method_signature: ImhotepLocalSession.remapNegativeDocs(FastBitSet docRemapped, int targetGroup, int negativeGroup)
focal_class.full_signature: private void remapNegativeDocs(FastBitSet docRemapped, int targetGroup, int negativeGroup)
focal_class.identifier: remapNegativeDocs
focal_class.modifiers: private
focal_class.parameters: (FastBitSet docRemapped, int targetGroup, int negativeGroup)
focal_class.return: void
focal_class.signature: void remapNegativeDocs(FastBitSet docRemapped, int targetGroup, int negativeGroup)
focal_class.class_method_signature: ImhotepLocalSession.remapPositiveDocs(DocIdStream docIdStream,
                                     FastBitSet docRemapped,
                                     int targetGroup,
                                     int positiveGroup)
focal_class.full_signature: private void remapPositiveDocs(DocIdStream docIdStream,
                                     FastBitSet docRemapped,
                                     int targetGroup,
                                     int positiveGroup)
focal_class.identifier: remapPositiveDocs
focal_class.modifiers: private
focal_class.parameters: (DocIdStream docIdStream,
                                     FastBitSet docRemapped,
                                     int targetGroup,
                                     int positiveGroup)
focal_class.return: void
focal_class.signature: void remapPositiveDocs(DocIdStream docIdStream,
                                     FastBitSet docRemapped,
                                     int targetGroup,
                                     int positiveGroup)
focal_class.class_method_signature: ImhotepLocalSession.randomRegroup(String field,
                                             boolean isIntField,
                                             String salt,
                                             double p,
                                             int targetGroup,
                                             int negativeGroup,
                                             int positiveGroup)
focal_class.full_signature: @Override public synchronized void randomRegroup(String field,
                                             boolean isIntField,
                                             String salt,
                                             double p,
                                             int targetGroup,
                                             int negativeGroup,
                                             int positiveGroup)
focal_class.identifier: randomRegroup
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String field,
                                             boolean isIntField,
                                             String salt,
                                             double p,
                                             int targetGroup,
                                             int negativeGroup,
                                             int positiveGroup)
focal_class.return: void
focal_class.signature: void randomRegroup(String field,
                                             boolean isIntField,
                                             String salt,
                                             double p,
                                             int targetGroup,
                                             int negativeGroup,
                                             int positiveGroup)
focal_class.class_method_signature: ImhotepLocalSession.randomMultiRegroup(String field,
                                                  boolean isIntField,
                                                  String salt,
                                                  int targetGroup,
                                                  double[] percentages,
                                                  int[] resultGroups)
focal_class.full_signature: @Override public synchronized void randomMultiRegroup(String field,
                                                  boolean isIntField,
                                                  String salt,
                                                  int targetGroup,
                                                  double[] percentages,
                                                  int[] resultGroups)
focal_class.identifier: randomMultiRegroup
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String field,
                                                  boolean isIntField,
                                                  String salt,
                                                  int targetGroup,
                                                  double[] percentages,
                                                  int[] resultGroups)
focal_class.return: void
focal_class.signature: void randomMultiRegroup(String field,
                                                  boolean isIntField,
                                                  String salt,
                                                  int targetGroup,
                                                  double[] percentages,
                                                  int[] resultGroups)
focal_class.class_method_signature: ImhotepLocalSession.approximateTopTerms(String field, boolean isIntField, int k)
focal_class.full_signature: @Override public List<TermCount> approximateTopTerms(String field, boolean isIntField, int k)
focal_class.identifier: approximateTopTerms
focal_class.modifiers: @Override public
focal_class.parameters: (String field, boolean isIntField, int k)
focal_class.return: List<TermCount>
focal_class.signature: List<TermCount> approximateTopTerms(String field, boolean isIntField, int k)
focal_class.class_method_signature: ImhotepLocalSession.indexOfFirstLessThan(double value, double[] array)
focal_class.full_signature: protected int indexOfFirstLessThan(double value, double[] array)
focal_class.identifier: indexOfFirstLessThan
focal_class.modifiers: protected
focal_class.parameters: (double value, double[] array)
focal_class.return: int
focal_class.signature: int indexOfFirstLessThan(double value, double[] array)
focal_class.class_method_signature: ImhotepLocalSession.ensureValidMultiRegroupArrays(double[] percentages, int[] resultGroups)
focal_class.full_signature: protected void ensureValidMultiRegroupArrays(double[] percentages, int[] resultGroups)
focal_class.identifier: ensureValidMultiRegroupArrays
focal_class.modifiers: protected
focal_class.parameters: (double[] percentages, int[] resultGroups)
focal_class.return: void
focal_class.signature: void ensureValidMultiRegroupArrays(double[] percentages, int[] resultGroups)
focal_class.class_method_signature: ImhotepLocalSession.metricRegroup(int stat, long min, long max, long intervalSize, boolean noGutters)
focal_class.full_signature: @Override public synchronized int metricRegroup(int stat, long min, long max, long intervalSize, boolean noGutters)
focal_class.identifier: metricRegroup
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (int stat, long min, long max, long intervalSize, boolean noGutters)
focal_class.return: int
focal_class.signature: int metricRegroup(int stat, long min, long max, long intervalSize, boolean noGutters)
focal_class.class_method_signature: ImhotepLocalSession.internalMetricRegroupGutters(long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.full_signature: private void internalMetricRegroupGutters(long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.identifier: internalMetricRegroupGutters
focal_class.modifiers: private
focal_class.parameters: (long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.return: void
focal_class.signature: void internalMetricRegroupGutters(long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.class_method_signature: ImhotepLocalSession.internalMetricRegroupNoGutters(long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.full_signature: private void internalMetricRegroupNoGutters(long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.identifier: internalMetricRegroupNoGutters
focal_class.modifiers: private
focal_class.parameters: (long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.return: void
focal_class.signature: void internalMetricRegroupNoGutters(long min, long max, long intervalSize, int numBuckets, int numNonZero)
focal_class.class_method_signature: ImhotepLocalSession.metricRegroup2D(int xStat,
                                              long xMin,
                                              long xMax,
                                              long xIntervalSize,
                                              int yStat,
                                              long yMin,
                                              long yMax,
                                              long yIntervalSize)
focal_class.full_signature: @Override public synchronized int metricRegroup2D(int xStat,
                                              long xMin,
                                              long xMax,
                                              long xIntervalSize,
                                              int yStat,
                                              long yMin,
                                              long yMax,
                                              long yIntervalSize)
focal_class.identifier: metricRegroup2D
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (int xStat,
                                              long xMin,
                                              long xMax,
                                              long xIntervalSize,
                                              int yStat,
                                              long yMin,
                                              long yMax,
                                              long yIntervalSize)
focal_class.return: int
focal_class.signature: int metricRegroup2D(int xStat,
                                              long xMin,
                                              long xMax,
                                              long xIntervalSize,
                                              int yStat,
                                              long yMin,
                                              long yMax,
                                              long yIntervalSize)
focal_class.class_method_signature: ImhotepLocalSession.metricFilter(int stat, long min, long max, final boolean negate)
focal_class.full_signature: public synchronized int metricFilter(int stat, long min, long max, final boolean negate)
focal_class.identifier: metricFilter
focal_class.modifiers: public synchronized
focal_class.parameters: (int stat, long min, long max, final boolean negate)
focal_class.return: int
focal_class.signature: int metricFilter(int stat, long min, long max, final boolean negate)
focal_class.class_method_signature: ImhotepLocalSession.getGroupStats(int stat)
focal_class.full_signature: @Override public synchronized long[] getGroupStats(int stat)
focal_class.identifier: getGroupStats
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (int stat)
focal_class.return: long[]
focal_class.signature: long[] getGroupStats(int stat)
focal_class.class_method_signature: ImhotepLocalSession.cleanUpRules(GroupRemapRule[] rawRules, int numGroups)
focal_class.full_signature: private static GroupRemapRule[] cleanUpRules(GroupRemapRule[] rawRules, int numGroups)
focal_class.identifier: cleanUpRules
focal_class.modifiers: private static
focal_class.parameters: (GroupRemapRule[] rawRules, int numGroups)
focal_class.return: GroupRemapRule[]
focal_class.signature: GroupRemapRule[] cleanUpRules(GroupRemapRule[] rawRules, int numGroups)
focal_class.class_method_signature: ImhotepLocalSession.recalcGroupStats(int numGroups)
focal_class.full_signature: private void recalcGroupStats(int numGroups)
focal_class.identifier: recalcGroupStats
focal_class.modifiers: private
focal_class.parameters: (int numGroups)
focal_class.return: void
focal_class.signature: void recalcGroupStats(int numGroups)
focal_class.class_method_signature: ImhotepLocalSession.recalcGroupCounts(int numGroups)
focal_class.full_signature: private void recalcGroupCounts(int numGroups)
focal_class.identifier: recalcGroupCounts
focal_class.modifiers: private
focal_class.parameters: (int numGroups)
focal_class.return: void
focal_class.signature: void recalcGroupCounts(int numGroups)
focal_class.class_method_signature: ImhotepLocalSession.pushStat(String statName)
focal_class.full_signature: @Override public synchronized int pushStat(String statName)
focal_class.identifier: pushStat
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String statName)
focal_class.return: int
focal_class.signature: int pushStat(String statName)
focal_class.class_method_signature: ImhotepLocalSession.pushStats(final List<String> statNames)
focal_class.full_signature: @Override public synchronized int pushStats(final List<String> statNames)
focal_class.identifier: pushStats
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (final List<String> statNames)
focal_class.return: int
focal_class.signature: int pushStats(final List<String> statNames)
focal_class.class_method_signature: ImhotepLocalSession.is32BitInteger(String s)
focal_class.full_signature: private static boolean is32BitInteger(String s)
focal_class.identifier: is32BitInteger
focal_class.modifiers: private static
focal_class.parameters: (String s)
focal_class.return: boolean
focal_class.signature: boolean is32BitInteger(String s)
focal_class.class_method_signature: ImhotepLocalSession.popLookup()
focal_class.full_signature: private IntValueLookup popLookup()
focal_class.identifier: popLookup
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: IntValueLookup
focal_class.signature: IntValueLookup popLookup()
focal_class.class_method_signature: ImhotepLocalSession.popStat()
focal_class.full_signature: @Override public synchronized int popStat()
focal_class.identifier: popStat
focal_class.modifiers: @Override public synchronized
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int popStat()
focal_class.class_method_signature: ImhotepLocalSession.getNumStats()
focal_class.full_signature: @Override public synchronized int getNumStats()
focal_class.identifier: getNumStats
focal_class.modifiers: @Override public synchronized
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getNumStats()
focal_class.class_method_signature: ImhotepLocalSession.getNumGroups()
focal_class.full_signature: @Override public int getNumGroups()
focal_class.identifier: getNumGroups
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getNumGroups()
focal_class.class_method_signature: ImhotepLocalSession.createDynamicMetric(String name)
focal_class.full_signature: @Override public synchronized void createDynamicMetric(String name)
focal_class.identifier: createDynamicMetric
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String name)
focal_class.return: void
focal_class.signature: void createDynamicMetric(String name)
focal_class.class_method_signature: ImhotepLocalSession.updateDynamicMetric(String name, int[] deltas)
focal_class.full_signature: @Override public synchronized void updateDynamicMetric(String name, int[] deltas)
focal_class.identifier: updateDynamicMetric
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String name, int[] deltas)
focal_class.return: void
focal_class.signature: void updateDynamicMetric(String name, int[] deltas)
focal_class.class_method_signature: ImhotepLocalSession.conditionalUpdateDynamicMetric(String name,
                                                              final RegroupCondition[] conditions,
                                                              final int[] deltas)
focal_class.full_signature: @Override public synchronized void conditionalUpdateDynamicMetric(String name,
                                                              final RegroupCondition[] conditions,
                                                              final int[] deltas)
focal_class.identifier: conditionalUpdateDynamicMetric
focal_class.modifiers: @Override public synchronized
focal_class.parameters: (String name,
                                                              final RegroupCondition[] conditions,
                                                              final int[] deltas)
focal_class.return: void
focal_class.signature: void conditionalUpdateDynamicMetric(String name,
                                                              final RegroupCondition[] conditions,
                                                              final int[] deltas)
focal_class.class_method_signature: ImhotepLocalSession.validateConditionalUpdateDynamicMetricInput(RegroupCondition[] conditions,
                                                               int[] deltas)
focal_class.full_signature: private void validateConditionalUpdateDynamicMetricInput(RegroupCondition[] conditions,
                                                               int[] deltas)
focal_class.identifier: validateConditionalUpdateDynamicMetricInput
focal_class.modifiers: private
focal_class.parameters: (RegroupCondition[] conditions,
                                                               int[] deltas)
focal_class.return: void
focal_class.signature: void validateConditionalUpdateDynamicMetricInput(RegroupCondition[] conditions,
                                                               int[] deltas)
focal_class.class_method_signature: ImhotepLocalSession.groupConditionalUpdateDynamicMetric(String name, int[] groups, RegroupCondition[] conditions, int[] deltas)
focal_class.full_signature: public void groupConditionalUpdateDynamicMetric(String name, int[] groups, RegroupCondition[] conditions, int[] deltas)
focal_class.identifier: groupConditionalUpdateDynamicMetric
focal_class.modifiers: public
focal_class.parameters: (String name, int[] groups, RegroupCondition[] conditions, int[] deltas)
focal_class.return: void
focal_class.signature: void groupConditionalUpdateDynamicMetric(String name, int[] groups, RegroupCondition[] conditions, int[] deltas)
focal_class.class_method_signature: ImhotepLocalSession.updateDocsWithTermDynamicMetric(DynamicMetric metric, FastBitSet groupsWithCurrentTerm, int[] groupToDelta, DocIdStream docIdStream)
focal_class.full_signature: private void updateDocsWithTermDynamicMetric(DynamicMetric metric, FastBitSet groupsWithCurrentTerm, int[] groupToDelta, DocIdStream docIdStream)
focal_class.identifier: updateDocsWithTermDynamicMetric
focal_class.modifiers: private
focal_class.parameters: (DynamicMetric metric, FastBitSet groupsWithCurrentTerm, int[] groupToDelta, DocIdStream docIdStream)
focal_class.return: void
focal_class.signature: void updateDocsWithTermDynamicMetric(DynamicMetric metric, FastBitSet groupsWithCurrentTerm, int[] groupToDelta, DocIdStream docIdStream)
focal_class.class_method_signature: ImhotepLocalSession.adjustDeltas(DynamicMetric metric, DocIdStream docIdStream, int delta)
focal_class.full_signature: private synchronized void adjustDeltas(DynamicMetric metric, DocIdStream docIdStream, int delta)
focal_class.identifier: adjustDeltas
focal_class.modifiers: private synchronized
focal_class.parameters: (DynamicMetric metric, DocIdStream docIdStream, int delta)
focal_class.return: void
focal_class.signature: void adjustDeltas(DynamicMetric metric, DocIdStream docIdStream, int delta)
focal_class.class_method_signature: ImhotepLocalSession.close()
focal_class.full_signature: @Override public synchronized void close()
focal_class.identifier: close
focal_class.modifiers: @Override public synchronized
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void close()
focal_class.class_method_signature: ImhotepLocalSession.tryClose()
focal_class.full_signature: private void tryClose()
focal_class.identifier: tryClose
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void tryClose()
focal_class.class_method_signature: ImhotepLocalSession.finalize()
focal_class.full_signature: protected void finalize()
focal_class.identifier: finalize
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void finalize()
focal_class.class_method_signature: ImhotepLocalSession.resetGroups()
focal_class.full_signature: @Override public synchronized void resetGroups()
focal_class.identifier: resetGroups
focal_class.modifiers: @Override public synchronized
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void resetGroups()
focal_class.class_method_signature: ImhotepLocalSession.resetGroupsTo(int group)
focal_class.full_signature: private void resetGroupsTo(int group)
focal_class.identifier: resetGroupsTo
focal_class.modifiers: private
focal_class.parameters: (int group)
focal_class.return: void
focal_class.signature: void resetGroupsTo(int group)
focal_class.class_method_signature: ImhotepLocalSession.clearZeroDocBitsets()
focal_class.full_signature:  void clearZeroDocBitsets()
focal_class.identifier: clearZeroDocBitsets
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clearZeroDocBitsets()
focal_class.class_method_signature: ImhotepLocalSession.clearAndResize(int[] a, int newSize, MemoryReserver memory)
focal_class.full_signature: private static int[] clearAndResize(int[] a, int newSize, MemoryReserver memory)
focal_class.identifier: clearAndResize
focal_class.modifiers: private static
focal_class.parameters: (int[] a, int newSize, MemoryReserver memory)
focal_class.return: int[]
focal_class.signature: int[] clearAndResize(int[] a, int newSize, MemoryReserver memory)
focal_class.class_method_signature: ImhotepLocalSession.clearAndResize(long[] a, int newSize, MemoryReserver memory)
focal_class.full_signature: private static long[] clearAndResize(long[] a, int newSize, MemoryReserver memory)
focal_class.identifier: clearAndResize
focal_class.modifiers: private static
focal_class.parameters: (long[] a, int newSize, MemoryReserver memory)
focal_class.return: long[]
focal_class.signature: long[] clearAndResize(long[] a, int newSize, MemoryReserver memory)
focal_class.class_method_signature: ImhotepLocalSession.updateGroupStatsAllDocs(IntValueLookup statLookup,
                                                  long[] groupStats,
                                                  GroupLookup docIdToGroup,
                                                  int[] docGrpBuffer,
                                                  int[] docIdBuf,
                                                  long[] valBuf)
focal_class.full_signature: private static void updateGroupStatsAllDocs(IntValueLookup statLookup,
                                                  long[] groupStats,
                                                  GroupLookup docIdToGroup,
                                                  int[] docGrpBuffer,
                                                  int[] docIdBuf,
                                                  long[] valBuf)
focal_class.identifier: updateGroupStatsAllDocs
focal_class.modifiers: private static
focal_class.parameters: (IntValueLookup statLookup,
                                                  long[] groupStats,
                                                  GroupLookup docIdToGroup,
                                                  int[] docGrpBuffer,
                                                  int[] docIdBuf,
                                                  long[] valBuf)
focal_class.return: void
focal_class.signature: void updateGroupStatsAllDocs(IntValueLookup statLookup,
                                                  long[] groupStats,
                                                  GroupLookup docIdToGroup,
                                                  int[] docGrpBuffer,
                                                  int[] docIdBuf,
                                                  long[] valBuf)
focal_class.class_method_signature: ImhotepLocalSession.updateGroupStatsDocIdBuf(IntValueLookup statLookup,
                                           long[] groupStats,
                                           int[] docGrpBuffer,
                                           int[] docIdBuf,
                                           long[] valBuf,
                                           int n)
focal_class.full_signature: static void updateGroupStatsDocIdBuf(IntValueLookup statLookup,
                                           long[] groupStats,
                                           int[] docGrpBuffer,
                                           int[] docIdBuf,
                                           long[] valBuf,
                                           int n)
focal_class.identifier: updateGroupStatsDocIdBuf
focal_class.modifiers: static
focal_class.parameters: (IntValueLookup statLookup,
                                           long[] groupStats,
                                           int[] docGrpBuffer,
                                           int[] docIdBuf,
                                           long[] valBuf,
                                           int n)
focal_class.return: void
focal_class.signature: void updateGroupStatsDocIdBuf(IntValueLookup statLookup,
                                           long[] groupStats,
                                           int[] docGrpBuffer,
                                           int[] docIdBuf,
                                           long[] valBuf,
                                           int n)
focal_class.class_method_signature: ImhotepLocalSession.clear(long[] array, int[] groupsSeen, int groupsSeenCount)
focal_class.full_signature: static void clear(long[] array, int[] groupsSeen, int groupsSeenCount)
focal_class.identifier: clear
focal_class.modifiers: static
focal_class.parameters: (long[] array, int[] groupsSeen, int groupsSeenCount)
focal_class.return: void
focal_class.signature: void clear(long[] array, int[] groupsSeen, int groupsSeenCount)
focal_class.class_method_signature: ImhotepLocalSession.applyIntConditions(GroupRemapRule[] remapRules,
                                      DocIdStream docIdStream,
                                      ThreadSafeBitSet docRemapped)
focal_class.full_signature: private void applyIntConditions(GroupRemapRule[] remapRules,
                                      DocIdStream docIdStream,
                                      ThreadSafeBitSet docRemapped)
focal_class.identifier: applyIntConditions
focal_class.modifiers: private
focal_class.parameters: (GroupRemapRule[] remapRules,
                                      DocIdStream docIdStream,
                                      ThreadSafeBitSet docRemapped)
focal_class.return: void
focal_class.signature: void applyIntConditions(GroupRemapRule[] remapRules,
                                      DocIdStream docIdStream,
                                      ThreadSafeBitSet docRemapped)
focal_class.class_method_signature: ImhotepLocalSession.applyStringConditions(GroupRemapRule[] remapRules,
                                         DocIdStream docIdStream,
                                         ThreadSafeBitSet docRemapped)
focal_class.full_signature: private void applyStringConditions(GroupRemapRule[] remapRules,
                                         DocIdStream docIdStream,
                                         ThreadSafeBitSet docRemapped)
focal_class.identifier: applyStringConditions
focal_class.modifiers: private
focal_class.parameters: (GroupRemapRule[] remapRules,
                                         DocIdStream docIdStream,
                                         ThreadSafeBitSet docRemapped)
focal_class.return: void
focal_class.signature: void applyStringConditions(GroupRemapRule[] remapRules,
                                         DocIdStream docIdStream,
                                         ThreadSafeBitSet docRemapped)
focal_class.class_method_signature: ImhotepLocalSession.checkStringCondition(RegroupCondition condition,
                                          String stringField,
                                          String itrTerm)
focal_class.full_signature: static boolean checkStringCondition(RegroupCondition condition,
                                          String stringField,
                                          String itrTerm)
focal_class.identifier: checkStringCondition
focal_class.modifiers: static
focal_class.parameters: (RegroupCondition condition,
                                          String stringField,
                                          String itrTerm)
focal_class.return: boolean
focal_class.signature: boolean checkStringCondition(RegroupCondition condition,
                                          String stringField,
                                          String itrTerm)
focal_class.class_method_signature: ImhotepLocalSession.checkIntCondition(RegroupCondition condition, String intField, long itrTerm)
focal_class.full_signature: static boolean checkIntCondition(RegroupCondition condition, String intField, long itrTerm)
focal_class.identifier: checkIntCondition
focal_class.modifiers: static
focal_class.parameters: (RegroupCondition condition, String intField, long itrTerm)
focal_class.return: boolean
focal_class.signature: boolean checkIntCondition(RegroupCondition condition, String intField, long itrTerm)
focal_class.class_method_signature: ImhotepLocalSession.buildIntFieldConditionSummaryMap(GroupRemapRule[] rules)
focal_class.full_signature: private static Map<String, IntFieldConditionSummary> buildIntFieldConditionSummaryMap(GroupRemapRule[] rules)
focal_class.identifier: buildIntFieldConditionSummaryMap
focal_class.modifiers: private static
focal_class.parameters: (GroupRemapRule[] rules)
focal_class.return: Map<String, IntFieldConditionSummary>
focal_class.signature: Map<String, IntFieldConditionSummary> buildIntFieldConditionSummaryMap(GroupRemapRule[] rules)
focal_class.class_method_signature: ImhotepLocalSession.buildStringFieldConditionSummaryMap(GroupRemapRule[] rules)
focal_class.full_signature: private static Map<String, StringFieldConditionSummary> buildStringFieldConditionSummaryMap(GroupRemapRule[] rules)
focal_class.identifier: buildStringFieldConditionSummaryMap
focal_class.modifiers: private static
focal_class.parameters: (GroupRemapRule[] rules)
focal_class.return: Map<String, StringFieldConditionSummary>
focal_class.signature: Map<String, StringFieldConditionSummary> buildStringFieldConditionSummaryMap(GroupRemapRule[] rules)
focal_class.class_method_signature: ImhotepLocalSession.stringMax(String a, String b)
focal_class.full_signature: private static String stringMax(String a, String b)
focal_class.identifier: stringMax
focal_class.modifiers: private static
focal_class.parameters: (String a, String b)
focal_class.return: String
focal_class.signature: String stringMax(String a, String b)
focal_class.class_method_signature: ImhotepLocalSession.hasIntTermFilter(final String field, final long term)
focal_class.full_signature: private IntValueLookup hasIntTermFilter(final String field, final long term)
focal_class.identifier: hasIntTermFilter
focal_class.modifiers: private
focal_class.parameters: (final String field, final long term)
focal_class.return: IntValueLookup
focal_class.signature: IntValueLookup hasIntTermFilter(final String field, final long term)
focal_class.class_method_signature: ImhotepLocalSession.hasStringTermFilter(final String field, final String term)
focal_class.full_signature: private IntValueLookup hasStringTermFilter(final String field, final String term)
focal_class.identifier: hasStringTermFilter
focal_class.modifiers: private
focal_class.parameters: (final String field, final String term)
focal_class.return: IntValueLookup
focal_class.signature: IntValueLookup hasStringTermFilter(final String field, final String term)
focal_class.class_method_signature: ImhotepLocalSession.hasRegexFilter(String field, String regex)
focal_class.full_signature: private IntValueLookup hasRegexFilter(String field, String regex)
focal_class.identifier: hasRegexFilter
focal_class.modifiers: private
focal_class.parameters: (String field, String regex)
focal_class.return: IntValueLookup
focal_class.signature: IntValueLookup hasRegexFilter(String field, String regex)
focal_class.class_method_signature: ImhotepLocalSession.intTermCountLookup(final String field)
focal_class.full_signature: private IntValueLookup intTermCountLookup(final String field)
focal_class.identifier: intTermCountLookup
focal_class.modifiers: private
focal_class.parameters: (final String field)
focal_class.return: IntValueLookup
focal_class.signature: IntValueLookup intTermCountLookup(final String field)
focal_class.class_method_signature: ImhotepLocalSession.stringTermCountLookup(final String field)
focal_class.full_signature: private IntValueLookup stringTermCountLookup(final String field)
focal_class.identifier: stringTermCountLookup
focal_class.modifiers: private
focal_class.parameters: (final String field)
focal_class.return: IntValueLookup
focal_class.signature: IntValueLookup stringTermCountLookup(final String field)
focal_class.class_method_signature: ImhotepLocalSession.scaledFloatLookup(final String field, double scale, double offset)
focal_class.full_signature: private IntValueLookup scaledFloatLookup(final String field, double scale, double offset)
focal_class.identifier: scaledFloatLookup
focal_class.modifiers: private
focal_class.parameters: (final String field, double scale, double offset)
focal_class.return: IntValueLookup
focal_class.signature: IntValueLookup scaledFloatLookup(final String field, double scale, double offset)
focal_class.class_method_signature: ImhotepLocalSession.getBitSetMemoryUsage()
focal_class.full_signature: private int getBitSetMemoryUsage()
focal_class.identifier: getBitSetMemoryUsage
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getBitSetMemoryUsage()
focal_class.superclass: extends AbstractImhotepSession
focal_method.body: @Override
      public synchronized int regroup(final GroupMultiRemapRule[] rules, boolean errorOnCollisions) throws ImhotepOutOfMemoryException {
          final int numRules = rules.length;
          if (numRules == 0) {
              resetGroupsTo(0);
              return docIdToGroup.getNumGroups();
          }
  
          final int numConditions = MultiRegroupInternals.countRemapConditions(rules);
          final int highestTarget;
          final int targetGroupBytes = Math.max(numRules * 4, numConditions * 8);
          if (!memory.claimMemory(targetGroupBytes)) {
              throw new ImhotepOutOfMemoryException();
          }
          try {
              highestTarget = MultiRegroupInternals.validateTargets(rules);
              MultiRegroupInternals.validateEqualitySplits(rules);
          } finally {
              memory.releaseMemory(targetGroupBytes);
          }
  
          final int maxIntermediateGroup = Math.max(docIdToGroup.getNumGroups(), highestTarget);
          final int maxNewGroup = MultiRegroupInternals.findMaxGroup(rules);
          docIdToGroup =
                  GroupLookupFactory.resize(docIdToGroup,
                                            Math.max(maxIntermediateGroup, maxNewGroup),
                                            memory);
          MultiRegroupInternals.moveUntargeted(docIdToGroup, maxIntermediateGroup, rules);
  
          final int maxConditionIndex = MultiRegroupInternals.findMaxIntermediateGroup(rules);
          final int placeholderGroup = maxConditionIndex + 1;
  
          final int parallelArrayBytes = 3 * 4 * numConditions + 8 * numConditions;
          // int[highestTarget+1], int[highestTarget+1][], <int or
          // string>[highestTarget+1][]
          // The last two are jagged arrays, and the cardinality of the subarrays
          // sums to numConditions at most
          final int maxInequalityBytes = (highestTarget + 1) * (4 + 8 + 8) + numConditions * (4 + 8);
          final int maxBarrierIndexBytes = numConditions * 4;
          final int remappingBytes = (maxIntermediateGroup + 1) * 4;
          final int totalInternalRegroupBytes =
                  parallelArrayBytes + maxInequalityBytes + maxBarrierIndexBytes + remappingBytes;
          final GroupLookup newDocIdToGroup;
          newDocIdToGroup = newGroupLookupWithPlaceholders(placeholderGroup);
  
          try {
              if (!memory.claimMemory(totalInternalRegroupBytes)) {
                  throw new ImhotepOutOfMemoryException();
              }
              try {
                  MultiRegroupInternals.internalMultiRegroup(docIdToGroup,
                                                             newDocIdToGroup,
                                                             docIdBuf,
                                                             flamdexReader,
                                                             rules,
                                                             highestTarget,
                                                             numConditions,
                                                             placeholderGroup,
                                                             maxIntermediateGroup,
                                                             errorOnCollisions);
              } finally {
                  memory.releaseMemory(totalInternalRegroupBytes);
              }
  
              final int targetGroupToRuleBytes =
                      Math.max(highestTarget + 1, docIdToGroup.getNumGroups()) * 8;
              if (!memory.claimMemory(targetGroupToRuleBytes)) {
                  throw new ImhotepOutOfMemoryException();
              }
              try {
                  MultiRegroupInternals.internalMultiRegroupCleanup(docIdToGroup,
                                                                    docIdToGroup.getNumGroups(),
                                                                    rules,
                                                                    highestTarget,
                                                                    newDocIdToGroup,
                                                                    placeholderGroup);
              } finally {
                  memory.releaseMemory(targetGroupToRuleBytes);
              }
          } finally {
              memory.releaseMemory(newDocIdToGroup.memoryUsed());
          }
  
          finalizeRegroup();
  
          return docIdToGroup.getNumGroups();
      }
focal_method.class_method_signature: ImhotepLocalSession.regroup(final GroupMultiRemapRule[] rules, boolean errorOnCollisions)
focal_method.full_signature: @Override public synchronized int regroup(final GroupMultiRemapRule[] rules, boolean errorOnCollisions)
focal_method.identifier: regroup
focal_method.invocations: resetGroupsTo getNumGroups countRemapConditions max claimMemory validateTargets validateEqualitySplits releaseMemory max getNumGroups findMaxGroup resize max moveUntargeted findMaxIntermediateGroup newGroupLookupWithPlaceholders claimMemory internalMultiRegroup releaseMemory max getNumGroups claimMemory internalMultiRegroupCleanup getNumGroups releaseMemory releaseMemory memoryUsed finalizeRegroup getNumGroups
focal_method.modifiers: @Override public synchronized
focal_method.parameters: (final GroupMultiRemapRule[] rules, boolean errorOnCollisions)
focal_method.return: int
focal_method.signature: int regroup(final GroupMultiRemapRule[] rules, boolean errorOnCollisions)