public SeedPlanter() { int[][] hits = new int[seeds.length][]; IntArrayList hitList = new IntArrayList(); for (int seedIndex = 0; seedIndex < seeds.length; ++seedIndex) { hitList.clear(); for (int i = 0; i < targetData.length; ++i) if (weakMatch(fromData[seeds[seedIndex]], targetData[i]) && GraphUtils.componentSize(seeds[seedIndex], fromFContractions.components) <= GraphUtils.componentSize(i, targetFContractions.components)) hitList.add(i); hits[seedIndex] = hitList.toArray(); } combinationsPort = new IntDistinctTuplesPort(hits); }
} while ((m1 = firstM1(components)) != vertices);
infoTensorIndicesTo = Arrays.copyOf(infoTensorIndicesTo, infoTensorIndicesTo.length - shift); int[] components = GraphUtils.calculateConnectedComponents(infoTensorIndicesFrom, infoTensorIndicesTo, data.length); componentCount = components[components.length - 1]; this.components = Arrays.copyOfRange(components, 0, components.length - 1);
int[] components = GraphUtils.calculateConnectedComponents( infoToTensorIndices(upperInfo), infoToTensorIndices(lowerInfo), data.length + 1);