@ladybugmem/icebug 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/binding.gyp +54 -0
- package/build/Release/.deps/Release/icebug.node.d +1 -0
- package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +291 -0
- package/build/Release/icebug.node +0 -0
- package/build/Release/obj.target/icebug/src/addon.o +0 -0
- package/lib/index.d.ts +361 -0
- package/lib/index.js +102 -0
- package/package.json +42 -0
- package/src/addon.cpp +1253 -0
- package/vendor/include/networkit/GlobalState.hpp +86 -0
- package/vendor/include/networkit/Globals.hpp +41 -0
- package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +27 -0
- package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +1292 -0
- package/vendor/include/networkit/algebraic/CSRMatrix.hpp +11 -0
- package/vendor/include/networkit/algebraic/DenseMatrix.hpp +537 -0
- package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +514 -0
- package/vendor/include/networkit/algebraic/GraphBLAS.hpp +323 -0
- package/vendor/include/networkit/algebraic/MatrixTools.hpp +156 -0
- package/vendor/include/networkit/algebraic/Semirings.hpp +171 -0
- package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +111 -0
- package/vendor/include/networkit/algebraic/Vector.hpp +371 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +72 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +88 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +96 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +145 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +122 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +76 -0
- package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +113 -0
- package/vendor/include/networkit/auxiliary/ArrayTools.hpp +85 -0
- package/vendor/include/networkit/auxiliary/BloomFilter.hpp +70 -0
- package/vendor/include/networkit/auxiliary/BucketPQ.hpp +142 -0
- package/vendor/include/networkit/auxiliary/Enforce.hpp +117 -0
- package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +74 -0
- package/vendor/include/networkit/auxiliary/HashUtils.hpp +28 -0
- package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +52 -0
- package/vendor/include/networkit/auxiliary/Log.hpp +119 -0
- package/vendor/include/networkit/auxiliary/MissingMath.hpp +48 -0
- package/vendor/include/networkit/auxiliary/Multiprecision.hpp +17 -0
- package/vendor/include/networkit/auxiliary/NumberParsing.hpp +307 -0
- package/vendor/include/networkit/auxiliary/NumericTools.hpp +57 -0
- package/vendor/include/networkit/auxiliary/Parallel.hpp +56 -0
- package/vendor/include/networkit/auxiliary/Parallelism.hpp +33 -0
- package/vendor/include/networkit/auxiliary/PrioQueue.hpp +252 -0
- package/vendor/include/networkit/auxiliary/Random.hpp +122 -0
- package/vendor/include/networkit/auxiliary/SetIntersector.hpp +72 -0
- package/vendor/include/networkit/auxiliary/SignalHandling.hpp +39 -0
- package/vendor/include/networkit/auxiliary/SortedList.hpp +128 -0
- package/vendor/include/networkit/auxiliary/SparseVector.hpp +215 -0
- package/vendor/include/networkit/auxiliary/SpinLock.hpp +23 -0
- package/vendor/include/networkit/auxiliary/StringBuilder.hpp +322 -0
- package/vendor/include/networkit/auxiliary/StringTools.hpp +76 -0
- package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +76 -0
- package/vendor/include/networkit/auxiliary/Timer.hpp +145 -0
- package/vendor/include/networkit/auxiliary/VectorComparator.hpp +32 -0
- package/vendor/include/networkit/base/Algorithm.hpp +41 -0
- package/vendor/include/networkit/base/DynAlgorithm.hpp +31 -0
- package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +62 -0
- package/vendor/include/networkit/centrality/ApproxCloseness.hpp +136 -0
- package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +156 -0
- package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +124 -0
- package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +84 -0
- package/vendor/include/networkit/centrality/Betweenness.hpp +47 -0
- package/vendor/include/networkit/centrality/Centrality.hpp +98 -0
- package/vendor/include/networkit/centrality/Closeness.hpp +107 -0
- package/vendor/include/networkit/centrality/ComplexPaths.hpp +113 -0
- package/vendor/include/networkit/centrality/CoreDecomposition.hpp +161 -0
- package/vendor/include/networkit/centrality/DegreeCentrality.hpp +55 -0
- package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +95 -0
- package/vendor/include/networkit/centrality/DynBetweenness.hpp +99 -0
- package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +98 -0
- package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +115 -0
- package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +223 -0
- package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +41 -0
- package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +51 -0
- package/vendor/include/networkit/centrality/ForestCentrality.hpp +112 -0
- package/vendor/include/networkit/centrality/GedWalk.hpp +225 -0
- package/vendor/include/networkit/centrality/GroupCloseness.hpp +115 -0
- package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +78 -0
- package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +77 -0
- package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +106 -0
- package/vendor/include/networkit/centrality/GroupDegree.hpp +155 -0
- package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +83 -0
- package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +48 -0
- package/vendor/include/networkit/centrality/KPathCentrality.hpp +52 -0
- package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +242 -0
- package/vendor/include/networkit/centrality/KatzCentrality.hpp +62 -0
- package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +44 -0
- package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +60 -0
- package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +43 -0
- package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +42 -0
- package/vendor/include/networkit/centrality/PageRank.hpp +101 -0
- package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +48 -0
- package/vendor/include/networkit/centrality/Sfigality.hpp +45 -0
- package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +86 -0
- package/vendor/include/networkit/centrality/TopCloseness.hpp +136 -0
- package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +151 -0
- package/vendor/include/networkit/clique/MaximalCliques.hpp +83 -0
- package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +59 -0
- package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +156 -0
- package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +57 -0
- package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +43 -0
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +33 -0
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +62 -0
- package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +31 -0
- package/vendor/include/networkit/community/ClusteringGenerator.hpp +75 -0
- package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +58 -0
- package/vendor/include/networkit/community/Conductance.hpp +32 -0
- package/vendor/include/networkit/community/CoverF1Similarity.hpp +53 -0
- package/vendor/include/networkit/community/CoverHubDominance.hpp +38 -0
- package/vendor/include/networkit/community/Coverage.hpp +25 -0
- package/vendor/include/networkit/community/CutClustering.hpp +62 -0
- package/vendor/include/networkit/community/DissimilarityMeasure.hpp +31 -0
- package/vendor/include/networkit/community/DynamicNMIDistance.hpp +44 -0
- package/vendor/include/networkit/community/EdgeCut.hpp +24 -0
- package/vendor/include/networkit/community/GraphClusteringTools.hpp +103 -0
- package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +28 -0
- package/vendor/include/networkit/community/HubDominance.hpp +46 -0
- package/vendor/include/networkit/community/IntrapartitionDensity.hpp +44 -0
- package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +40 -0
- package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +40 -0
- package/vendor/include/networkit/community/JaccardMeasure.hpp +25 -0
- package/vendor/include/networkit/community/LFM.hpp +49 -0
- package/vendor/include/networkit/community/LPDegreeOrdered.hpp +48 -0
- package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +100 -0
- package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +31 -0
- package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +31 -0
- package/vendor/include/networkit/community/LouvainMapEquation.hpp +135 -0
- package/vendor/include/networkit/community/Modularity.hpp +54 -0
- package/vendor/include/networkit/community/NMIDistance.hpp +28 -0
- package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +27 -0
- package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +51 -0
- package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +175 -0
- package/vendor/include/networkit/community/PLM.hpp +89 -0
- package/vendor/include/networkit/community/PLP.hpp +83 -0
- package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +37 -0
- package/vendor/include/networkit/community/ParallelLeiden.hpp +96 -0
- package/vendor/include/networkit/community/ParallelLeidenView.hpp +138 -0
- package/vendor/include/networkit/community/PartitionFragmentation.hpp +30 -0
- package/vendor/include/networkit/community/PartitionHubDominance.hpp +37 -0
- package/vendor/include/networkit/community/PartitionIntersection.hpp +25 -0
- package/vendor/include/networkit/community/QualityMeasure.hpp +27 -0
- package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +40 -0
- package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +40 -0
- package/vendor/include/networkit/community/StablePartitionNodes.hpp +48 -0
- package/vendor/include/networkit/components/BiconnectedComponents.hpp +116 -0
- package/vendor/include/networkit/components/ComponentDecomposition.hpp +72 -0
- package/vendor/include/networkit/components/ConnectedComponents.hpp +55 -0
- package/vendor/include/networkit/components/DynConnectedComponents.hpp +71 -0
- package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +73 -0
- package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +44 -0
- package/vendor/include/networkit/components/RandomSpanningForest.hpp +36 -0
- package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +50 -0
- package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +59 -0
- package/vendor/include/networkit/correlation/Assortativity.hpp +64 -0
- package/vendor/include/networkit/distance/APSP.hpp +70 -0
- package/vendor/include/networkit/distance/AStar.hpp +68 -0
- package/vendor/include/networkit/distance/AStarGeneral.hpp +110 -0
- package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +52 -0
- package/vendor/include/networkit/distance/AffectedNodes.hpp +130 -0
- package/vendor/include/networkit/distance/AlgebraicDistance.hpp +63 -0
- package/vendor/include/networkit/distance/BFS.hpp +43 -0
- package/vendor/include/networkit/distance/BidirectionalBFS.hpp +51 -0
- package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +69 -0
- package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +89 -0
- package/vendor/include/networkit/distance/Diameter.hpp +97 -0
- package/vendor/include/networkit/distance/Dijkstra.hpp +50 -0
- package/vendor/include/networkit/distance/DynAPSP.hpp +67 -0
- package/vendor/include/networkit/distance/DynBFS.hpp +56 -0
- package/vendor/include/networkit/distance/DynDijkstra.hpp +57 -0
- package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +67 -0
- package/vendor/include/networkit/distance/DynSSSP.hpp +87 -0
- package/vendor/include/networkit/distance/Eccentricity.hpp +32 -0
- package/vendor/include/networkit/distance/EffectiveDiameter.hpp +47 -0
- package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +57 -0
- package/vendor/include/networkit/distance/FloydWarshall.hpp +93 -0
- package/vendor/include/networkit/distance/GraphDistance.hpp +49 -0
- package/vendor/include/networkit/distance/HopPlotApproximation.hpp +62 -0
- package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +66 -0
- package/vendor/include/networkit/distance/IncompleteSSSP.hpp +41 -0
- package/vendor/include/networkit/distance/JaccardDistance.hpp +57 -0
- package/vendor/include/networkit/distance/MultiTargetBFS.hpp +32 -0
- package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +40 -0
- package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +47 -0
- package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +56 -0
- package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +56 -0
- package/vendor/include/networkit/distance/NodeDistance.hpp +54 -0
- package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +76 -0
- package/vendor/include/networkit/distance/ReverseBFS.hpp +46 -0
- package/vendor/include/networkit/distance/SPSP.hpp +143 -0
- package/vendor/include/networkit/distance/SSSP.hpp +216 -0
- package/vendor/include/networkit/distance/STSP.hpp +193 -0
- package/vendor/include/networkit/distance/Volume.hpp +66 -0
- package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +40 -0
- package/vendor/include/networkit/dynamics/DGSWriter.hpp +30 -0
- package/vendor/include/networkit/dynamics/GraphDifference.hpp +110 -0
- package/vendor/include/networkit/dynamics/GraphEvent.hpp +55 -0
- package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +39 -0
- package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +55 -0
- package/vendor/include/networkit/dynamics/GraphUpdater.hpp +38 -0
- package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +26 -0
- package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScore.hpp +50 -0
- package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +32 -0
- package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +35 -0
- package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +29 -0
- package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +23 -0
- package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +39 -0
- package/vendor/include/networkit/embedding/Node2Vec.hpp +83 -0
- package/vendor/include/networkit/flow/EdmondsKarp.hpp +112 -0
- package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +87 -0
- package/vendor/include/networkit/generators/ChungLuGenerator.hpp +46 -0
- package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +63 -0
- package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +56 -0
- package/vendor/include/networkit/generators/ConfigurationModel.hpp +36 -0
- package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +33 -0
- package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +33 -0
- package/vendor/include/networkit/generators/DynamicDGSParser.hpp +51 -0
- package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +34 -0
- package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +55 -0
- package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +40 -0
- package/vendor/include/networkit/generators/DynamicGraphSource.hpp +79 -0
- package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +143 -0
- package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +26 -0
- package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +54 -0
- package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +65 -0
- package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +318 -0
- package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +56 -0
- package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +48 -0
- package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +236 -0
- package/vendor/include/networkit/generators/LFRGenerator.hpp +175 -0
- package/vendor/include/networkit/generators/MocnikGenerator.hpp +147 -0
- package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +58 -0
- package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +128 -0
- package/vendor/include/networkit/generators/PubWebGenerator.hpp +94 -0
- package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +37 -0
- package/vendor/include/networkit/generators/RmatGenerator.hpp +67 -0
- package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +42 -0
- package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +30 -0
- package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +41 -0
- package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +43 -0
- package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +857 -0
- package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +587 -0
- package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +726 -0
- package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +232 -0
- package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +149 -0
- package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +143 -0
- package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +248 -0
- package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +145 -0
- package/vendor/include/networkit/global/ClusteringCoefficient.hpp +42 -0
- package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +24 -0
- package/vendor/include/networkit/graph/Attributes.hpp +568 -0
- package/vendor/include/networkit/graph/BFS.hpp +111 -0
- package/vendor/include/networkit/graph/DFS.hpp +71 -0
- package/vendor/include/networkit/graph/Dijkstra.hpp +83 -0
- package/vendor/include/networkit/graph/EdgeIterators.hpp +171 -0
- package/vendor/include/networkit/graph/Graph.hpp +2083 -0
- package/vendor/include/networkit/graph/GraphBuilder.hpp +289 -0
- package/vendor/include/networkit/graph/GraphR.hpp +133 -0
- package/vendor/include/networkit/graph/GraphTools.hpp +589 -0
- package/vendor/include/networkit/graph/GraphW.hpp +1236 -0
- package/vendor/include/networkit/graph/KruskalMSF.hpp +50 -0
- package/vendor/include/networkit/graph/NeighborIterators.hpp +163 -0
- package/vendor/include/networkit/graph/NodeIterators.hpp +127 -0
- package/vendor/include/networkit/graph/PrimMSF.hpp +66 -0
- package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +133 -0
- package/vendor/include/networkit/graph/SpanningForest.hpp +41 -0
- package/vendor/include/networkit/graph/TopologicalSort.hpp +87 -0
- package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +126 -0
- package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +68 -0
- package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +44 -0
- package/vendor/include/networkit/independentset/Luby.hpp +27 -0
- package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +45 -0
- package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +47 -0
- package/vendor/include/networkit/io/BinaryPartitionReader.hpp +41 -0
- package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +44 -0
- package/vendor/include/networkit/io/CoverReader.hpp +27 -0
- package/vendor/include/networkit/io/CoverWriter.hpp +21 -0
- package/vendor/include/networkit/io/DGSReader.hpp +39 -0
- package/vendor/include/networkit/io/DibapGraphReader.hpp +43 -0
- package/vendor/include/networkit/io/DotGraphWriter.hpp +39 -0
- package/vendor/include/networkit/io/DotPartitionWriter.hpp +23 -0
- package/vendor/include/networkit/io/DynamicGraphReader.hpp +29 -0
- package/vendor/include/networkit/io/EdgeListCoverReader.hpp +35 -0
- package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +43 -0
- package/vendor/include/networkit/io/EdgeListReader.hpp +61 -0
- package/vendor/include/networkit/io/EdgeListWriter.hpp +48 -0
- package/vendor/include/networkit/io/GMLGraphReader.hpp +33 -0
- package/vendor/include/networkit/io/GMLGraphWriter.hpp +33 -0
- package/vendor/include/networkit/io/GraphIO.hpp +52 -0
- package/vendor/include/networkit/io/GraphReader.hpp +40 -0
- package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +71 -0
- package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +61 -0
- package/vendor/include/networkit/io/GraphWriter.hpp +27 -0
- package/vendor/include/networkit/io/KONECTGraphReader.hpp +44 -0
- package/vendor/include/networkit/io/LineFileReader.hpp +42 -0
- package/vendor/include/networkit/io/METISGraphReader.hpp +36 -0
- package/vendor/include/networkit/io/METISGraphWriter.hpp +29 -0
- package/vendor/include/networkit/io/METISParser.hpp +63 -0
- package/vendor/include/networkit/io/MTXGraphReader.hpp +31 -0
- package/vendor/include/networkit/io/MTXParser.hpp +87 -0
- package/vendor/include/networkit/io/MatrixMarketReader.hpp +33 -0
- package/vendor/include/networkit/io/MatrixReader.hpp +33 -0
- package/vendor/include/networkit/io/MemoryMappedFile.hpp +80 -0
- package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +144 -0
- package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +50 -0
- package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +71 -0
- package/vendor/include/networkit/io/PartitionReader.hpp +34 -0
- package/vendor/include/networkit/io/PartitionWriter.hpp +31 -0
- package/vendor/include/networkit/io/RBGraphReader.hpp +37 -0
- package/vendor/include/networkit/io/RBMatrixReader.hpp +49 -0
- package/vendor/include/networkit/io/RasterReader.hpp +40 -0
- package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +28 -0
- package/vendor/include/networkit/io/SNAPGraphReader.hpp +53 -0
- package/vendor/include/networkit/io/SNAPGraphWriter.hpp +53 -0
- package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +44 -0
- package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +27 -0
- package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +39 -0
- package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +37 -0
- package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +36 -0
- package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +70 -0
- package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +39 -0
- package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +135 -0
- package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +44 -0
- package/vendor/include/networkit/linkprediction/KatzIndex.hpp +84 -0
- package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +98 -0
- package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +56 -0
- package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +60 -0
- package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +42 -0
- package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +54 -0
- package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +48 -0
- package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +40 -0
- package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +66 -0
- package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +37 -0
- package/vendor/include/networkit/linkprediction/ROCMetric.hpp +39 -0
- package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +47 -0
- package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +38 -0
- package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +50 -0
- package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +39 -0
- package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +35 -0
- package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +35 -0
- package/vendor/include/networkit/matching/BMatcher.hpp +52 -0
- package/vendor/include/networkit/matching/BMatching.hpp +115 -0
- package/vendor/include/networkit/matching/BSuitorMatcher.hpp +170 -0
- package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +78 -0
- package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +35 -0
- package/vendor/include/networkit/matching/Matcher.hpp +55 -0
- package/vendor/include/networkit/matching/Matching.hpp +111 -0
- package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +46 -0
- package/vendor/include/networkit/matching/SuitorMatcher.hpp +62 -0
- package/vendor/include/networkit/numerics/ConjugateGradient.hpp +163 -0
- package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +99 -0
- package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +70 -0
- package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +460 -0
- package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +47 -0
- package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +56 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +52 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +133 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +28 -0
- package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +165 -0
- package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +1090 -0
- package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +316 -0
- package/vendor/include/networkit/numerics/LinearSolver.hpp +151 -0
- package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +61 -0
- package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +36 -0
- package/vendor/include/networkit/numerics/Smoother.hpp +37 -0
- package/vendor/include/networkit/overlap/HashingOverlapper.hpp +28 -0
- package/vendor/include/networkit/overlap/Overlapper.hpp +27 -0
- package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +113 -0
- package/vendor/include/networkit/randomization/Curveball.hpp +49 -0
- package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +39 -0
- package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +39 -0
- package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +82 -0
- package/vendor/include/networkit/randomization/EdgeSwitching.hpp +157 -0
- package/vendor/include/networkit/randomization/GlobalCurveball.hpp +69 -0
- package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +303 -0
- package/vendor/include/networkit/reachability/AllSimplePaths.hpp +122 -0
- package/vendor/include/networkit/reachability/ReachableNodes.hpp +83 -0
- package/vendor/include/networkit/scd/ApproximatePageRank.hpp +51 -0
- package/vendor/include/networkit/scd/CliqueDetect.hpp +55 -0
- package/vendor/include/networkit/scd/CombinedSCD.hpp +51 -0
- package/vendor/include/networkit/scd/GCE.hpp +42 -0
- package/vendor/include/networkit/scd/LFMLocal.hpp +54 -0
- package/vendor/include/networkit/scd/LocalT.hpp +40 -0
- package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +46 -0
- package/vendor/include/networkit/scd/PageRankNibble.hpp +55 -0
- package/vendor/include/networkit/scd/RandomBFS.hpp +33 -0
- package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +121 -0
- package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +76 -0
- package/vendor/include/networkit/scd/SetConductance.hpp +47 -0
- package/vendor/include/networkit/scd/TCE.hpp +41 -0
- package/vendor/include/networkit/scd/TwoPhaseL.hpp +40 -0
- package/vendor/include/networkit/scoring/EdgeScoring.hpp +44 -0
- package/vendor/include/networkit/scoring/ModularityScoring.hpp +79 -0
- package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +59 -0
- package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +28 -0
- package/vendor/include/networkit/sparsification/ForestFireScore.hpp +34 -0
- package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +40 -0
- package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +30 -0
- package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +124 -0
- package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +63 -0
- package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +38 -0
- package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +33 -0
- package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +29 -0
- package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +23 -0
- package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +35 -0
- package/vendor/include/networkit/sparsification/SimmelianScore.hpp +92 -0
- package/vendor/include/networkit/sparsification/Sparsifiers.hpp +166 -0
- package/vendor/include/networkit/structures/Cover.hpp +248 -0
- package/vendor/include/networkit/structures/LocalCommunity.hpp +363 -0
- package/vendor/include/networkit/structures/Partition.hpp +335 -0
- package/vendor/include/networkit/structures/UnionFind.hpp +66 -0
- package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +157 -0
- package/vendor/include/networkit/viz/MaxentStress.hpp +346 -0
- package/vendor/include/networkit/viz/Octree.hpp +428 -0
- package/vendor/include/networkit/viz/PivotMDS.hpp +63 -0
- package/vendor/include/networkit/viz/Point.hpp +415 -0
- package/vendor/include/networkit/viz/PostscriptWriter.hpp +78 -0
- package/vendor/include/tlx/algorithm/exclusive_scan.hpp +56 -0
- package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +56 -0
- package/vendor/include/tlx/algorithm/merge_advance.hpp +177 -0
- package/vendor/include/tlx/algorithm/merge_combine.hpp +76 -0
- package/vendor/include/tlx/algorithm/multisequence_partition.hpp +346 -0
- package/vendor/include/tlx/algorithm/multisequence_selection.hpp +351 -0
- package/vendor/include/tlx/algorithm/multiway_merge.hpp +1385 -0
- package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +257 -0
- package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +408 -0
- package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +116 -0
- package/vendor/include/tlx/algorithm.hpp +36 -0
- package/vendor/include/tlx/allocator_base.hpp +100 -0
- package/vendor/include/tlx/backtrace.hpp +54 -0
- package/vendor/include/tlx/cmdline_parser.hpp +498 -0
- package/vendor/include/tlx/container/btree.hpp +3977 -0
- package/vendor/include/tlx/container/btree_map.hpp +634 -0
- package/vendor/include/tlx/container/btree_multimap.hpp +627 -0
- package/vendor/include/tlx/container/btree_multiset.hpp +612 -0
- package/vendor/include/tlx/container/btree_set.hpp +612 -0
- package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +416 -0
- package/vendor/include/tlx/container/d_ary_heap.hpp +311 -0
- package/vendor/include/tlx/container/loser_tree.hpp +1009 -0
- package/vendor/include/tlx/container/lru_cache.hpp +319 -0
- package/vendor/include/tlx/container/radix_heap.hpp +735 -0
- package/vendor/include/tlx/container/ring_buffer.hpp +428 -0
- package/vendor/include/tlx/container/simple_vector.hpp +304 -0
- package/vendor/include/tlx/container/splay_tree.hpp +399 -0
- package/vendor/include/tlx/container/string_view.hpp +805 -0
- package/vendor/include/tlx/container.hpp +40 -0
- package/vendor/include/tlx/counting_ptr.hpp +522 -0
- package/vendor/include/tlx/define/attribute_always_inline.hpp +34 -0
- package/vendor/include/tlx/define/attribute_fallthrough.hpp +36 -0
- package/vendor/include/tlx/define/attribute_format_printf.hpp +34 -0
- package/vendor/include/tlx/define/attribute_packed.hpp +34 -0
- package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +34 -0
- package/vendor/include/tlx/define/constexpr.hpp +31 -0
- package/vendor/include/tlx/define/deprecated.hpp +39 -0
- package/vendor/include/tlx/define/endian.hpp +49 -0
- package/vendor/include/tlx/define/likely.hpp +33 -0
- package/vendor/include/tlx/define/visibility_hidden.hpp +34 -0
- package/vendor/include/tlx/define.hpp +36 -0
- package/vendor/include/tlx/delegate.hpp +524 -0
- package/vendor/include/tlx/die/core.hpp +311 -0
- package/vendor/include/tlx/die.hpp +106 -0
- package/vendor/include/tlx/digest/md5.hpp +81 -0
- package/vendor/include/tlx/digest/sha1.hpp +81 -0
- package/vendor/include/tlx/digest/sha256.hpp +81 -0
- package/vendor/include/tlx/digest/sha512.hpp +81 -0
- package/vendor/include/tlx/digest.hpp +30 -0
- package/vendor/include/tlx/logger/all.hpp +33 -0
- package/vendor/include/tlx/logger/array.hpp +43 -0
- package/vendor/include/tlx/logger/core.hpp +287 -0
- package/vendor/include/tlx/logger/deque.hpp +42 -0
- package/vendor/include/tlx/logger/map.hpp +65 -0
- package/vendor/include/tlx/logger/set.hpp +60 -0
- package/vendor/include/tlx/logger/tuple.hpp +66 -0
- package/vendor/include/tlx/logger/unordered_map.hpp +68 -0
- package/vendor/include/tlx/logger/unordered_set.hpp +64 -0
- package/vendor/include/tlx/logger/wrap_unprintable.hpp +75 -0
- package/vendor/include/tlx/logger.hpp +44 -0
- package/vendor/include/tlx/math/abs_diff.hpp +35 -0
- package/vendor/include/tlx/math/aggregate.hpp +231 -0
- package/vendor/include/tlx/math/aggregate_min_max.hpp +116 -0
- package/vendor/include/tlx/math/bswap.hpp +148 -0
- package/vendor/include/tlx/math/bswap_be.hpp +79 -0
- package/vendor/include/tlx/math/bswap_le.hpp +79 -0
- package/vendor/include/tlx/math/clz.hpp +174 -0
- package/vendor/include/tlx/math/ctz.hpp +174 -0
- package/vendor/include/tlx/math/div_ceil.hpp +36 -0
- package/vendor/include/tlx/math/ffs.hpp +123 -0
- package/vendor/include/tlx/math/integer_log2.hpp +189 -0
- package/vendor/include/tlx/math/is_power_of_two.hpp +74 -0
- package/vendor/include/tlx/math/polynomial_regression.hpp +243 -0
- package/vendor/include/tlx/math/popcount.hpp +173 -0
- package/vendor/include/tlx/math/power_to_the.hpp +44 -0
- package/vendor/include/tlx/math/rol.hpp +112 -0
- package/vendor/include/tlx/math/ror.hpp +112 -0
- package/vendor/include/tlx/math/round_to_power_of_two.hpp +121 -0
- package/vendor/include/tlx/math/round_up.hpp +36 -0
- package/vendor/include/tlx/math/sgn.hpp +38 -0
- package/vendor/include/tlx/math.hpp +46 -0
- package/vendor/include/tlx/meta/apply_tuple.hpp +55 -0
- package/vendor/include/tlx/meta/call_for_range.hpp +78 -0
- package/vendor/include/tlx/meta/call_foreach.hpp +60 -0
- package/vendor/include/tlx/meta/call_foreach_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +61 -0
- package/vendor/include/tlx/meta/call_foreach_with_index.hpp +64 -0
- package/vendor/include/tlx/meta/enable_if.hpp +37 -0
- package/vendor/include/tlx/meta/fold_left.hpp +63 -0
- package/vendor/include/tlx/meta/fold_left_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/fold_right.hpp +63 -0
- package/vendor/include/tlx/meta/fold_right_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/function_chain.hpp +197 -0
- package/vendor/include/tlx/meta/function_stack.hpp +189 -0
- package/vendor/include/tlx/meta/has_member.hpp +80 -0
- package/vendor/include/tlx/meta/has_method.hpp +117 -0
- package/vendor/include/tlx/meta/index_sequence.hpp +66 -0
- package/vendor/include/tlx/meta/is_std_array.hpp +40 -0
- package/vendor/include/tlx/meta/is_std_pair.hpp +39 -0
- package/vendor/include/tlx/meta/is_std_tuple.hpp +39 -0
- package/vendor/include/tlx/meta/is_std_vector.hpp +39 -0
- package/vendor/include/tlx/meta/log2.hpp +101 -0
- package/vendor/include/tlx/meta/no_operation.hpp +55 -0
- package/vendor/include/tlx/meta/static_index.hpp +42 -0
- package/vendor/include/tlx/meta/vexpand.hpp +34 -0
- package/vendor/include/tlx/meta/vmap_for_range.hpp +84 -0
- package/vendor/include/tlx/meta/vmap_foreach.hpp +63 -0
- package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +59 -0
- package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +62 -0
- package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +70 -0
- package/vendor/include/tlx/meta.hpp +55 -0
- package/vendor/include/tlx/multi_timer.hpp +148 -0
- package/vendor/include/tlx/port/setenv.hpp +31 -0
- package/vendor/include/tlx/port.hpp +27 -0
- package/vendor/include/tlx/semaphore.hpp +119 -0
- package/vendor/include/tlx/simple_vector.hpp +20 -0
- package/vendor/include/tlx/siphash.hpp +282 -0
- package/vendor/include/tlx/sort/networks/best.hpp +611 -0
- package/vendor/include/tlx/sort/networks/bose_nelson.hpp +412 -0
- package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +507 -0
- package/vendor/include/tlx/sort/networks/cswap.hpp +60 -0
- package/vendor/include/tlx/sort/parallel_mergesort.hpp +398 -0
- package/vendor/include/tlx/sort/strings/insertion_sort.hpp +232 -0
- package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +185 -0
- package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +1647 -0
- package/vendor/include/tlx/sort/strings/radix_sort.hpp +934 -0
- package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +756 -0
- package/vendor/include/tlx/sort/strings/string_ptr.hpp +426 -0
- package/vendor/include/tlx/sort/strings/string_set.hpp +800 -0
- package/vendor/include/tlx/sort/strings.hpp +329 -0
- package/vendor/include/tlx/sort/strings_parallel.hpp +325 -0
- package/vendor/include/tlx/sort.hpp +29 -0
- package/vendor/include/tlx/stack_allocator.hpp +226 -0
- package/vendor/include/tlx/string/appendline.hpp +35 -0
- package/vendor/include/tlx/string/base64.hpp +87 -0
- package/vendor/include/tlx/string/bitdump.hpp +139 -0
- package/vendor/include/tlx/string/compare_icase.hpp +42 -0
- package/vendor/include/tlx/string/contains.hpp +36 -0
- package/vendor/include/tlx/string/contains_word.hpp +42 -0
- package/vendor/include/tlx/string/ends_with.hpp +79 -0
- package/vendor/include/tlx/string/equal_icase.hpp +42 -0
- package/vendor/include/tlx/string/erase_all.hpp +70 -0
- package/vendor/include/tlx/string/escape_html.hpp +34 -0
- package/vendor/include/tlx/string/escape_uri.hpp +34 -0
- package/vendor/include/tlx/string/expand_environment_variables.hpp +49 -0
- package/vendor/include/tlx/string/extract_between.hpp +40 -0
- package/vendor/include/tlx/string/format_iec_units.hpp +32 -0
- package/vendor/include/tlx/string/format_si_iec_units.hpp +19 -0
- package/vendor/include/tlx/string/format_si_units.hpp +32 -0
- package/vendor/include/tlx/string/hash_djb2.hpp +87 -0
- package/vendor/include/tlx/string/hash_sdbm.hpp +86 -0
- package/vendor/include/tlx/string/hexdump.hpp +154 -0
- package/vendor/include/tlx/string/index_of.hpp +56 -0
- package/vendor/include/tlx/string/join.hpp +65 -0
- package/vendor/include/tlx/string/join_generic.hpp +89 -0
- package/vendor/include/tlx/string/join_quoted.hpp +46 -0
- package/vendor/include/tlx/string/less_icase.hpp +64 -0
- package/vendor/include/tlx/string/levenshtein.hpp +193 -0
- package/vendor/include/tlx/string/pad.hpp +39 -0
- package/vendor/include/tlx/string/parse_si_iec_units.hpp +46 -0
- package/vendor/include/tlx/string/parse_uri.hpp +66 -0
- package/vendor/include/tlx/string/parse_uri_form_data.hpp +136 -0
- package/vendor/include/tlx/string/replace.hpp +141 -0
- package/vendor/include/tlx/string/split.hpp +170 -0
- package/vendor/include/tlx/string/split_quoted.hpp +49 -0
- package/vendor/include/tlx/string/split_view.hpp +218 -0
- package/vendor/include/tlx/string/split_words.hpp +53 -0
- package/vendor/include/tlx/string/ssprintf.hpp +45 -0
- package/vendor/include/tlx/string/ssprintf_generic.hpp +95 -0
- package/vendor/include/tlx/string/starts_with.hpp +44 -0
- package/vendor/include/tlx/string/to_lower.hpp +47 -0
- package/vendor/include/tlx/string/to_upper.hpp +47 -0
- package/vendor/include/tlx/string/trim.hpp +298 -0
- package/vendor/include/tlx/string/union_words.hpp +33 -0
- package/vendor/include/tlx/string/word_wrap.hpp +35 -0
- package/vendor/include/tlx/string.hpp +68 -0
- package/vendor/include/tlx/thread_barrier_mutex.hpp +109 -0
- package/vendor/include/tlx/thread_barrier_spin.hpp +127 -0
- package/vendor/include/tlx/thread_pool.hpp +151 -0
- package/vendor/include/tlx/timestamp.hpp +23 -0
- package/vendor/include/tlx/unused.hpp +28 -0
- package/vendor/include/tlx/vector_free.hpp +30 -0
- package/vendor/include/tlx/version.hpp +49 -0
- package/vendor/include/ttmath/ttmath.h +2881 -0
- package/vendor/include/ttmath/ttmathbig.h +6111 -0
- package/vendor/include/ttmath/ttmathdec.h +419 -0
- package/vendor/include/ttmath/ttmathint.h +1923 -0
- package/vendor/include/ttmath/ttmathmisc.h +250 -0
- package/vendor/include/ttmath/ttmathobjects.h +812 -0
- package/vendor/include/ttmath/ttmathparser.h +2791 -0
- package/vendor/include/ttmath/ttmaththreads.h +252 -0
- package/vendor/include/ttmath/ttmathtypes.h +707 -0
- package/vendor/include/ttmath/ttmathuint.h +4190 -0
- package/vendor/include/ttmath/ttmathuint_noasm.h +1038 -0
- package/vendor/include/ttmath/ttmathuint_x86.h +1620 -0
- package/vendor/include/ttmath/ttmathuint_x86_64.h +1177 -0
- package/vendor/lib/cmake/tlx/tlx-config.cmake +51 -0
- package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +19 -0
- package/vendor/lib/cmake/tlx/tlx-targets.cmake +106 -0
- package/vendor/lib/cmake/tlx/tlx-version.cmake +11 -0
- package/vendor/lib/libnetworkit.dylib +0 -0
- package/vendor/lib/libtlx.a +0 -0
- package/vendor/lib/pkgconfig/networkit.pc +11 -0
- package/vendor/lib/pkgconfig/tlx.pc +11 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ClusteringGenerator.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 10.12.2012
|
|
5
|
+
* Author: Christian Staudt
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_CLUSTERING_GENERATOR_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_CLUSTERING_GENERATOR_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/graph/Graph.hpp>
|
|
12
|
+
#include <networkit/structures/Partition.hpp>
|
|
13
|
+
|
|
14
|
+
namespace NetworKit {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @ingroup community
|
|
18
|
+
* Provides several methods for generating special clusterings.
|
|
19
|
+
*/
|
|
20
|
+
class ClusteringGenerator final {
|
|
21
|
+
|
|
22
|
+
public:
|
|
23
|
+
/**
|
|
24
|
+
* Make a singleton clustering of Graph @a G, i.e. a clustering in which every node
|
|
25
|
+
* belongs to its own cluster.
|
|
26
|
+
*
|
|
27
|
+
* @param G The graph.
|
|
28
|
+
* @return A Partition in which every node belongs to its own cluster.
|
|
29
|
+
*/
|
|
30
|
+
Partition makeSingletonClustering(const Graph &G);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Make a 1-clustering of Graph @a G, i.e. a clustering in which all nodes belong to the same
|
|
34
|
+
* cluster.
|
|
35
|
+
*
|
|
36
|
+
* @param G The graph.
|
|
37
|
+
* @return A Partition in which all nodes belong to the same cluster.
|
|
38
|
+
*/
|
|
39
|
+
Partition makeOneClustering(const Graph &G);
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Make a clustering of Graph @a G with @a k clusters to which the nodes are randomly assigned.
|
|
43
|
+
*
|
|
44
|
+
* @param G The graph.
|
|
45
|
+
* @param k The amount of clusters.
|
|
46
|
+
* @return A Partition with @a k clusters and each node randomly assigned to one of them.
|
|
47
|
+
*/
|
|
48
|
+
Partition makeRandomClustering(const Graph &G, count k);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Make a clustering of Graph @a G with @a k clusters. The first n/k nodes are assigned to the
|
|
52
|
+
* first cluster, the next n/k nodes to the second cluster and so on.
|
|
53
|
+
*
|
|
54
|
+
* @param G The graph.
|
|
55
|
+
* @param k The amount of clusters.
|
|
56
|
+
* @return A Partition with @a k clusters and each node assigned like described above.
|
|
57
|
+
*/
|
|
58
|
+
Partition makeContinuousBalancedClustering(const Graph &G, count k);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Make a clustering of a Graph @a G with @a k clusters. Each node u is assigned to cluster u %
|
|
62
|
+
* k. When the number of nodes n is quadratic and k is the square root of n, this clustering is
|
|
63
|
+
* complementary to the continuous balanced clustering in the sense that no pair of nodes that
|
|
64
|
+
* is in the same cluster in one of the clusterings is in the same cluster in the other
|
|
65
|
+
* clustering.
|
|
66
|
+
*
|
|
67
|
+
* @param G The graph.
|
|
68
|
+
* @param k The amount of clusters.
|
|
69
|
+
* @return A Partition with @a k clusters and each node assigned as described above.
|
|
70
|
+
*/
|
|
71
|
+
Partition makeNoncontinuousBalancedClustering(const Graph &G, count k);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
} /* namespace NetworKit */
|
|
75
|
+
#endif // NETWORKIT_COMMUNITY_CLUSTERING_GENERATOR_HPP_
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* CommunityDetectionAlgorithm.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 30.10.2012
|
|
5
|
+
* Author: Christian Staudt
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_COMMUNITY_DETECTION_ALGORITHM_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_COMMUNITY_DETECTION_ALGORITHM_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/base/Algorithm.hpp>
|
|
12
|
+
#include <networkit/graph/Graph.hpp>
|
|
13
|
+
#include <networkit/structures/Partition.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup community
|
|
19
|
+
* Abstract base class for community detection/graph clustering algorithms.
|
|
20
|
+
*/
|
|
21
|
+
class CommunityDetectionAlgorithm : public Algorithm {
|
|
22
|
+
public:
|
|
23
|
+
/**
|
|
24
|
+
* A community detection algorithm operates on a graph, so the constructor expects a graph.
|
|
25
|
+
*
|
|
26
|
+
* @param[in] G input graph
|
|
27
|
+
*/
|
|
28
|
+
CommunityDetectionAlgorithm(const Graph &G);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A community detection algorithm operates on a graph, so the constructor expects a graph.
|
|
32
|
+
*
|
|
33
|
+
* @param[in] G input graph
|
|
34
|
+
* @param[in] baseClustering optional; the algorithm will start from the given clustering.
|
|
35
|
+
*/
|
|
36
|
+
CommunityDetectionAlgorithm(const Graph &G, Partition baseClustering);
|
|
37
|
+
|
|
38
|
+
/** Default destructor */
|
|
39
|
+
~CommunityDetectionAlgorithm() override = default;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Apply algorithm to graph
|
|
43
|
+
*/
|
|
44
|
+
void run() override = 0;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Returns the result of the run method or throws an error, if the algorithm hasn't run yet.
|
|
48
|
+
* @return partition of the node set
|
|
49
|
+
*/
|
|
50
|
+
virtual const Partition &getPartition() const;
|
|
51
|
+
|
|
52
|
+
protected:
|
|
53
|
+
const Graph *G;
|
|
54
|
+
Partition result;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
} /* namespace NetworKit */
|
|
58
|
+
#endif // NETWORKIT_COMMUNITY_COMMUNITY_DETECTION_ALGORITHM_HPP_
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Conductance.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 26.02.2014
|
|
5
|
+
* Author: Henning
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_CONDUCTANCE_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_CONDUCTANCE_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/auxiliary/NumericTools.hpp>
|
|
12
|
+
#include <networkit/community/EdgeCut.hpp>
|
|
13
|
+
#include <networkit/community/QualityMeasure.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup community
|
|
19
|
+
* Compute conductance of a 2-partition, i.e. cut size over volume of smaller set (smaller in
|
|
20
|
+
* terms of volume).
|
|
21
|
+
*/
|
|
22
|
+
class Conductance final : public QualityMeasure {
|
|
23
|
+
public:
|
|
24
|
+
/**
|
|
25
|
+
* @return Conductance of 2-partition @a zeta in graph @a G.
|
|
26
|
+
* Requires cluster IDs to be either 0 or 1.
|
|
27
|
+
*/
|
|
28
|
+
double getQuality(const Partition &zeta, const Graph &G) override;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
} /* namespace NetworKit */
|
|
32
|
+
#endif // NETWORKIT_COMMUNITY_CONDUCTANCE_HPP_
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#ifndef NETWORKIT_COMMUNITY_COVER_F1_SIMILARITY_HPP_
|
|
2
|
+
#define NETWORKIT_COMMUNITY_COVER_F1_SIMILARITY_HPP_
|
|
3
|
+
|
|
4
|
+
#include <networkit/community/LocalCoverEvaluation.hpp>
|
|
5
|
+
|
|
6
|
+
namespace NetworKit {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @ingroup community
|
|
10
|
+
* Compare a given cover to a reference cover using the F1 measure.
|
|
11
|
+
* This is a typical similarity measure used to compare the found
|
|
12
|
+
* overlapping community structure to a ground truth community
|
|
13
|
+
* structure. Each cluster is compared to the best-matching reference
|
|
14
|
+
* cluster (in terms of highest F1 score). A value of 1 indicates
|
|
15
|
+
* perfect agreement while a while of 0 indicates complete
|
|
16
|
+
* disagreement. An example where this measure is used is the
|
|
17
|
+
* following paper:
|
|
18
|
+
*
|
|
19
|
+
* Alessandro Epasto, Silvio Lattanzi, and Renato Paes
|
|
20
|
+
* Leme. 2017. Ego-Splitting Framework: from Non-Overlapping to
|
|
21
|
+
* Overlapping Clusters. In Proceedings of the 23rd ACM SIGKDD
|
|
22
|
+
* International Conference on Knowledge Discovery and Data Mining
|
|
23
|
+
* (KDD '17). ACM, New York, NY, USA, 145-154. DOI:
|
|
24
|
+
* https://doi.org/10.1145/3097983.3098054
|
|
25
|
+
*/
|
|
26
|
+
class CoverF1Similarity final : public LocalCoverEvaluation {
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Initialize the cover F1 similarity.
|
|
30
|
+
*
|
|
31
|
+
* @param G The graph on which the evaluation is performed.
|
|
32
|
+
* @param C The cover that shall be evaluated.
|
|
33
|
+
* @param reference The reference cover to which @a C shall be compared.
|
|
34
|
+
*/
|
|
35
|
+
CoverF1Similarity(const Graph &G, const Cover &C, const Cover &reference);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Execute the algorithm. The algorithm is not parallel.
|
|
39
|
+
*/
|
|
40
|
+
void run() override;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @return false - smaller is not better, larger values indicate better matching clusters.
|
|
44
|
+
*/
|
|
45
|
+
bool isSmallBetter() const override { return false; }
|
|
46
|
+
|
|
47
|
+
private:
|
|
48
|
+
const Cover *reference;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
} // namespace NetworKit
|
|
52
|
+
|
|
53
|
+
#endif // NETWORKIT_COMMUNITY_COVER_F1_SIMILARITY_HPP_
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#ifndef NETWORKIT_COMMUNITY_COVER_HUB_DOMINANCE_HPP_
|
|
2
|
+
#define NETWORKIT_COMMUNITY_COVER_HUB_DOMINANCE_HPP_
|
|
3
|
+
|
|
4
|
+
#include <networkit/community/LocalCoverEvaluation.hpp>
|
|
5
|
+
|
|
6
|
+
namespace NetworKit {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A quality measure that measures the dominance of hubs in clusters. The hub dominance of a single
|
|
10
|
+
* cluster is defined as the maximum cluster-internal degree of a node in that cluster divided by
|
|
11
|
+
* the maximum cluster-internal degree, i.e. the number of nodes in the cluster minus one. The
|
|
12
|
+
* value for all clusters is defined as the average of all clusters.
|
|
13
|
+
* This implementation is a natural generalization of this measure for covers.
|
|
14
|
+
* Strictly speaking this is not a quality measure as this is rather dependent on the type of the
|
|
15
|
+
* considered graph, for more information see
|
|
16
|
+
* Lancichinetti A, Kivel M, Saramki J, Fortunato S (2010)
|
|
17
|
+
* Characterizing the Community Structure of Complex Networks
|
|
18
|
+
* PLoS ONE 5(8): e11976. doi: 10.1371/journal.pone.0011976
|
|
19
|
+
* http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0011976
|
|
20
|
+
*/
|
|
21
|
+
class CoverHubDominance final : public LocalCoverEvaluation {
|
|
22
|
+
public:
|
|
23
|
+
using LocalCoverEvaluation::LocalCoverEvaluation;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Execute the algorithm. The algorithm is not parallel.
|
|
27
|
+
*/
|
|
28
|
+
void run() override;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @return false - smaller is not better, larger values indicate better cluster cohesion.
|
|
32
|
+
*/
|
|
33
|
+
bool isSmallBetter() const override { return false; }
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
} // namespace NetworKit
|
|
37
|
+
|
|
38
|
+
#endif // NETWORKIT_COMMUNITY_COVER_HUB_DOMINANCE_HPP_
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Coverage.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 02.02.2013
|
|
5
|
+
* Author: Christian Staudt
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_COVERAGE_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_COVERAGE_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/community/QualityMeasure.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup community
|
|
17
|
+
* Coverage is the fraction of intra-cluster edges.
|
|
18
|
+
*/
|
|
19
|
+
class Coverage final : public QualityMeasure {
|
|
20
|
+
public:
|
|
21
|
+
double getQuality(const Partition &zeta, const Graph &G) override;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
} /* namespace NetworKit */
|
|
25
|
+
#endif // NETWORKIT_COMMUNITY_COVERAGE_HPP_
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#ifndef NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_
|
|
2
|
+
#define NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_
|
|
3
|
+
|
|
4
|
+
#include <networkit/community/CommunityDetectionAlgorithm.hpp>
|
|
5
|
+
|
|
6
|
+
namespace NetworKit {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Cut clustering algorithm as defined in
|
|
10
|
+
* Flake, Gary William; Tarjan, Robert E.; Tsioutsiouliklis, Kostas. Graph Clustering and Minimum
|
|
11
|
+
* Cut Trees. Internet Mathematics 1 (2003), no. 4, 385--408.
|
|
12
|
+
*/
|
|
13
|
+
class CutClustering final : public CommunityDetectionAlgorithm {
|
|
14
|
+
public:
|
|
15
|
+
/**
|
|
16
|
+
* Initialize cut clustering algorithm with parameter alpha.
|
|
17
|
+
*
|
|
18
|
+
* A value of 0 gives a clustering with one cluster with all nodes,
|
|
19
|
+
* A value that equals to the largest edge weight gives singleton clusters.
|
|
20
|
+
*
|
|
21
|
+
* @param alpha The parameter for the cut clustering
|
|
22
|
+
*/
|
|
23
|
+
CutClustering(const Graph &G, edgeweight alpha);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Apply algorithm to graph
|
|
27
|
+
*
|
|
28
|
+
* Warning: due to numerical errors the resulting clusters might not be correct.
|
|
29
|
+
* This implementation uses the Edmonds-Karp algorithm for the cut calculation.
|
|
30
|
+
*/
|
|
31
|
+
void run() override;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get the complete hierarchy with all possible parameter values.
|
|
35
|
+
*
|
|
36
|
+
* Each reported parameter value is the lower bound for the range in which the corresponding
|
|
37
|
+
* clustering is calculated by the cut clustering algorithm.
|
|
38
|
+
*
|
|
39
|
+
* Warning: all reported parameter values are slightly too high in order to avoid wrong
|
|
40
|
+
* clusterings because of numerical inaccuracies. Furthermore the completeness of the hierarchy
|
|
41
|
+
* cannot be guaranteed because of these inaccuracies. This implementation hasn't been optimized
|
|
42
|
+
* for performance.
|
|
43
|
+
*
|
|
44
|
+
* @param G The Graph instance for which the hierarchy shall be calculated
|
|
45
|
+
*
|
|
46
|
+
* @return The hierarchy as map
|
|
47
|
+
*/
|
|
48
|
+
static std::map<edgeweight, Partition> getClusterHierarchy(const Graph &G);
|
|
49
|
+
|
|
50
|
+
private:
|
|
51
|
+
/**
|
|
52
|
+
* Helper function for the recursive clustering hierarchy calculation.
|
|
53
|
+
*/
|
|
54
|
+
static void clusterHierarchyRecursion(const Graph &G, edgeweight lower, Partition lowerClusters,
|
|
55
|
+
edgeweight upper, Partition upperClusters,
|
|
56
|
+
std::map<edgeweight, Partition> &result);
|
|
57
|
+
edgeweight alpha;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
} // namespace NetworKit
|
|
61
|
+
|
|
62
|
+
#endif // NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DissimilarityMeasure.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 19.01.2013
|
|
5
|
+
* Author: Christian Staudt
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/graph/Graph.hpp>
|
|
12
|
+
#include <networkit/structures/Cover.hpp>
|
|
13
|
+
#include <networkit/structures/Partition.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup community
|
|
19
|
+
* Base class for all clustering dissimilarity measures.
|
|
20
|
+
*/
|
|
21
|
+
class DissimilarityMeasure {
|
|
22
|
+
|
|
23
|
+
public:
|
|
24
|
+
virtual double getDissimilarity(const Graph &G, const Partition &first,
|
|
25
|
+
const Partition &second) = 0;
|
|
26
|
+
|
|
27
|
+
virtual double getDissimilarity(const Graph &G, const Cover &first, const Cover &second);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
} /* namespace NetworKit */
|
|
31
|
+
#endif // NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DynamicNMIDistance.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: Jun 26, 2013
|
|
5
|
+
* Author: Henning
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_DYNAMIC_NMI_DISTANCE_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_DYNAMIC_NMI_DISTANCE_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/community/DissimilarityMeasure.hpp>
|
|
12
|
+
#include <networkit/community/NMIDistance.hpp>
|
|
13
|
+
|
|
14
|
+
namespace NetworKit {
|
|
15
|
+
|
|
16
|
+
using Matrix = std::vector<std::vector<count>>;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @ingroup community
|
|
20
|
+
*/
|
|
21
|
+
class DynamicNMIDistance final : public DissimilarityMeasure {
|
|
22
|
+
public:
|
|
23
|
+
/**
|
|
24
|
+
* Computes NMI between two clusterings that belong to two different graphs.
|
|
25
|
+
* @a newGraph has evolved from oldGraph, which is only given implicitly via
|
|
26
|
+
* @a oldClustering. NMI is only applied to nodes that belong to the intersection
|
|
27
|
+
* of oldGraph and @a newGraph. Nodes of oldGraph not existing in @newGraph are
|
|
28
|
+
* marked by the entry none in @a newClustering.
|
|
29
|
+
*/
|
|
30
|
+
double getDissimilarity(const Graph &newGraph, const Partition &oldClustering,
|
|
31
|
+
const Partition &newClustering) override;
|
|
32
|
+
|
|
33
|
+
void combineValues(double H_sum, double MI, double &NMI, double &NMID) const;
|
|
34
|
+
void sanityCheck(double &NMI, double &NMID) const;
|
|
35
|
+
|
|
36
|
+
double entropy(const Partition &clustering, count n, std::vector<double> probs);
|
|
37
|
+
|
|
38
|
+
bool isInBoth(node u, const Partition &oldClustering, const Partition &newClustering);
|
|
39
|
+
|
|
40
|
+
Matrix confusionMatrix(const Graph &G, const Partition &zeta, const Partition &eta);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
} /* namespace NetworKit */
|
|
44
|
+
#endif // NETWORKIT_COMMUNITY_DYNAMIC_NMI_DISTANCE_HPP_
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* EdgeCut.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: Jun 20, 2013
|
|
5
|
+
* Author: Henning
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_EDGE_CUT_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_EDGE_CUT_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/community/QualityMeasure.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup community
|
|
17
|
+
*/
|
|
18
|
+
class EdgeCut final : public QualityMeasure {
|
|
19
|
+
public:
|
|
20
|
+
double getQuality(const Partition &zeta, const Graph &G) override;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
} /* namespace NetworKit */
|
|
24
|
+
#endif // NETWORKIT_COMMUNITY_EDGE_CUT_HPP_
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* GraphClusteringTools.hpp
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
#ifndef NETWORKIT_COMMUNITY_GRAPH_CLUSTERING_TOOLS_HPP_
|
|
6
|
+
#define NETWORKIT_COMMUNITY_GRAPH_CLUSTERING_TOOLS_HPP_
|
|
7
|
+
|
|
8
|
+
#include <networkit/graph/Graph.hpp>
|
|
9
|
+
#include <networkit/graph/GraphW.hpp>
|
|
10
|
+
#include <networkit/structures/Partition.hpp>
|
|
11
|
+
|
|
12
|
+
namespace NetworKit {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @ingroup community
|
|
16
|
+
*/
|
|
17
|
+
namespace GraphClusteringTools {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Get the imbalance of clusters in the given partition.
|
|
21
|
+
*
|
|
22
|
+
* @param zeta Input partition
|
|
23
|
+
* @return total imbalance between clusters
|
|
24
|
+
*/
|
|
25
|
+
float getImbalance(const Partition &zeta);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Get the imbalance of clusters in the given partition compared to a given graph.
|
|
29
|
+
*
|
|
30
|
+
* @param zeta Input partition
|
|
31
|
+
* @param graph Input graph
|
|
32
|
+
* @return total imbalance between clusters
|
|
33
|
+
*/
|
|
34
|
+
float getImbalance(const Partition &zeta, const Graph &graph);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Get the communication graph for a given graph and its partition.
|
|
38
|
+
* A communication graph consists of a number of nodes, which equal
|
|
39
|
+
* the number of clusters in the partition. The edges between nodes
|
|
40
|
+
* in the communication graph account for the total edge weight for all
|
|
41
|
+
* edges between two clusters. For unweighted graphs, the edge weight in
|
|
42
|
+
* the communication graph is equal to the number of edges between two
|
|
43
|
+
* clusters.
|
|
44
|
+
*
|
|
45
|
+
* @param graph The input graph
|
|
46
|
+
* @param zeta Partition, which contains information about clusters in the graph
|
|
47
|
+
* @return communication graph
|
|
48
|
+
*/
|
|
49
|
+
GraphW communicationGraph(const Graph &graph, Partition &zeta);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Get weightedDegree of node u for a cluster (represented by a partition) of index cid.
|
|
53
|
+
*
|
|
54
|
+
* @param graph The input graph
|
|
55
|
+
* @param zeta Partition, which contains information about clusters in the graph
|
|
56
|
+
* @param u node
|
|
57
|
+
* @param cid index of cluster
|
|
58
|
+
* @return weighted degree of node u for cluster index cid
|
|
59
|
+
*/
|
|
60
|
+
edgeweight weightedDegreeWithCluster(const Graph &graph, const Partition &zeta, node u, index cid);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Check whether a partition is a proper clustering for a given graph
|
|
64
|
+
*
|
|
65
|
+
* @param graph The input graph
|
|
66
|
+
* @param zeta Partition, which contains information about clusters in the graph
|
|
67
|
+
* @return True if the partition is a proper clustering, False if not
|
|
68
|
+
*/
|
|
69
|
+
bool isProperClustering(const Graph &G, const Partition &zeta);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Check whether a partition is a proper singleton clustering for a given graph
|
|
73
|
+
*
|
|
74
|
+
* @param graph The input graph
|
|
75
|
+
* @param zeta Partition, which contains information about clusters in the graph
|
|
76
|
+
* @return True if the partition is a proper singleton clustering, False if not
|
|
77
|
+
*/
|
|
78
|
+
bool isSingletonClustering(const Graph &G, const Partition &zeta);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Check whether a partition is a proper one clustering for a given graph
|
|
82
|
+
*
|
|
83
|
+
* @param graph The input graph
|
|
84
|
+
* @param zeta Partition, which contains information about clusters in the graph
|
|
85
|
+
* @return True if the partition is a proper one clustering, False if not
|
|
86
|
+
*/
|
|
87
|
+
bool isOneClustering(const Graph &G, const Partition &zeta);
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Check whether two paritions are equal for a given graph
|
|
91
|
+
*
|
|
92
|
+
* @param graph The input graph
|
|
93
|
+
* @param zeta Partition, which contains information about clusters in the graph
|
|
94
|
+
* @param eta Partition, which contains information about clusters in the graph
|
|
95
|
+
* @return True if both partitions are the same, False if not
|
|
96
|
+
*/
|
|
97
|
+
bool equalClusterings(const Partition &zeta, const Partition &eta, Graph &G);
|
|
98
|
+
|
|
99
|
+
} // namespace GraphClusteringTools
|
|
100
|
+
|
|
101
|
+
} // namespace NetworKit
|
|
102
|
+
|
|
103
|
+
#endif // NETWORKIT_COMMUNITY_GRAPH_CLUSTERING_TOOLS_HPP_
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* GraphStructuralRandMeasure.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 16.04.2013
|
|
5
|
+
* Author: cls
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_COMMUNITY_GRAPH_STRUCTURAL_RAND_MEASURE_HPP_
|
|
9
|
+
#define NETWORKIT_COMMUNITY_GRAPH_STRUCTURAL_RAND_MEASURE_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/community/DissimilarityMeasure.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup community
|
|
17
|
+
* The graph-structural Rand measure assigns a similarity value in [0,1]
|
|
18
|
+
* to two partitions of a graph, by considering connected pairs of nodes.
|
|
19
|
+
*/
|
|
20
|
+
class GraphStructuralRandMeasure final : public DissimilarityMeasure {
|
|
21
|
+
|
|
22
|
+
public:
|
|
23
|
+
double getDissimilarity(const Graph &G, const Partition &first,
|
|
24
|
+
const Partition &second) override;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
} /* namespace NetworKit */
|
|
28
|
+
#endif // NETWORKIT_COMMUNITY_GRAPH_STRUCTURAL_RAND_MEASURE_HPP_
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#ifndef NETWORKIT_COMMUNITY_HUB_DOMINANCE_HPP_
|
|
2
|
+
#define NETWORKIT_COMMUNITY_HUB_DOMINANCE_HPP_
|
|
3
|
+
|
|
4
|
+
#include <networkit/community/QualityMeasure.hpp>
|
|
5
|
+
#include <networkit/structures/Cover.hpp>
|
|
6
|
+
#include <networkit/structures/Partition.hpp>
|
|
7
|
+
|
|
8
|
+
namespace NetworKit {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A quality measure that measures the dominance of hubs in clusters. The hub dominance of a single
|
|
12
|
+
* cluster is defined as the maximum cluster-internal degree of a node in that cluster divided by
|
|
13
|
+
* the maximum cluster-internal degree, i.e. the number of nodes in the cluster minus one. The
|
|
14
|
+
* value for all clusters is defined as the average of all clusters.
|
|
15
|
+
* Strictly speaking this is not a quality measure as this is rather dependent on the type of the
|
|
16
|
+
* considered graph, for more information see
|
|
17
|
+
* Lancichinetti A, Kivel M, Saramki J, Fortunato S (2010)
|
|
18
|
+
* Characterizing the Community Structure of Complex Networks
|
|
19
|
+
* PLoS ONE 5(8): e11976. doi: 10.1371/journal.pone.0011976
|
|
20
|
+
* http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0011976
|
|
21
|
+
*/
|
|
22
|
+
class HubDominance final : public QualityMeasure {
|
|
23
|
+
public:
|
|
24
|
+
/**
|
|
25
|
+
* Calculates the dominance of hubs in the given Partition @a zeta of the given
|
|
26
|
+
* Graph @a G.
|
|
27
|
+
*
|
|
28
|
+
* @param zeta The partition for which the hub dominance shall be calculated
|
|
29
|
+
* @param G The graph that is partitioned in @a zeta
|
|
30
|
+
* @return The average hub dominance of @a zeta
|
|
31
|
+
*/
|
|
32
|
+
double getQuality(const Partition &zeta, const Graph &G) override;
|
|
33
|
+
/**
|
|
34
|
+
* Calculates the dominance of hubs in the given Cover @a zeta of the given
|
|
35
|
+
* Graph @a G.
|
|
36
|
+
*
|
|
37
|
+
* @param zeta The cover for which the hub dominance shall be calculated
|
|
38
|
+
* @param G The graph that is partitioned in @a zeta
|
|
39
|
+
* @return The average hub dominance of @a zeta
|
|
40
|
+
*/
|
|
41
|
+
double getQuality(const Cover &zeta, const Graph &G);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
} // namespace NetworKit
|
|
45
|
+
|
|
46
|
+
#endif // NETWORKIT_COMMUNITY_HUB_DOMINANCE_HPP_
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#ifndef NETWORKIT_COMMUNITY_INTRAPARTITION_DENSITY_HPP_
|
|
2
|
+
#define NETWORKIT_COMMUNITY_INTRAPARTITION_DENSITY_HPP_
|
|
3
|
+
|
|
4
|
+
#include <networkit/community/LocalPartitionEvaluation.hpp>
|
|
5
|
+
|
|
6
|
+
namespace NetworKit {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The intra-cluster density of a partition is defined as the number of existing edges divided by
|
|
10
|
+
* the number of possible edges. The global value is the sum of all existing intra-cluster edges
|
|
11
|
+
* divided by the sum of all possible intra-cluster edges.
|
|
12
|
+
*/
|
|
13
|
+
class IntrapartitionDensity final : public LocalPartitionEvaluation {
|
|
14
|
+
public:
|
|
15
|
+
using LocalPartitionEvaluation::LocalPartitionEvaluation;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Execute the algorithm. The algorithm is not parallel.
|
|
19
|
+
*/
|
|
20
|
+
void run() override;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Get the global intra-cluster density.
|
|
24
|
+
*
|
|
25
|
+
* @return The global intra-cluster density.
|
|
26
|
+
*/
|
|
27
|
+
double getGlobal() const {
|
|
28
|
+
assureFinished();
|
|
29
|
+
return globalValue;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* This value should be high in a good clustering.
|
|
34
|
+
* @return false - high values are better than small values.
|
|
35
|
+
*/
|
|
36
|
+
bool isSmallBetter() const override { return false; }
|
|
37
|
+
|
|
38
|
+
private:
|
|
39
|
+
double globalValue;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
} // namespace NetworKit
|
|
43
|
+
|
|
44
|
+
#endif // NETWORKIT_COMMUNITY_INTRAPARTITION_DENSITY_HPP_
|