@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,99 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DynBetweenness.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 12.08.2015
|
|
5
|
+
* Author: Arie Slobbe, Elisabetta Bergamini
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_CENTRALITY_DYN_BETWEENNESS_HPP_
|
|
9
|
+
#define NETWORKIT_CENTRALITY_DYN_BETWEENNESS_HPP_
|
|
10
|
+
|
|
11
|
+
#include <memory>
|
|
12
|
+
#include <queue>
|
|
13
|
+
|
|
14
|
+
#include <networkit/auxiliary/PrioQueue.hpp>
|
|
15
|
+
#include <networkit/base/DynAlgorithm.hpp>
|
|
16
|
+
#include <networkit/centrality/Centrality.hpp>
|
|
17
|
+
#include <networkit/dynamics/GraphEvent.hpp>
|
|
18
|
+
|
|
19
|
+
namespace NetworKit {
|
|
20
|
+
|
|
21
|
+
class CompareDist {
|
|
22
|
+
public:
|
|
23
|
+
bool operator()(std::pair<double, node> n1, std::pair<double, node> n2) {
|
|
24
|
+
return n1.first > n2.first;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
using PrioQ =
|
|
29
|
+
std::priority_queue<std::pair<double, node>, std::vector<std::pair<double, node>>, CompareDist>;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @ingroup centrality
|
|
33
|
+
* Dynamic APSP.
|
|
34
|
+
*/
|
|
35
|
+
class DynBetweenness : public Centrality, public DynAlgorithm {
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Creates the object for @a G.
|
|
40
|
+
*
|
|
41
|
+
* @param G The graph.
|
|
42
|
+
*/
|
|
43
|
+
DynBetweenness(const Graph &G);
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Runs static betweenness centrality algorithm on the initial graph.
|
|
47
|
+
*/
|
|
48
|
+
void run() override;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Updates the betweenness centralities after an edge insertions on the graph.
|
|
52
|
+
* Notice: it works only with edge insertions.
|
|
53
|
+
*
|
|
54
|
+
* @param e The edge insertions.
|
|
55
|
+
*/
|
|
56
|
+
void update(GraphEvent e) override;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Updates the betweenness centralities after a batch of edge insertions on the graph.
|
|
60
|
+
* Notice: it works only with edge insertions.
|
|
61
|
+
*
|
|
62
|
+
* @param batch The batch of edge insertions.
|
|
63
|
+
*/
|
|
64
|
+
void updateBatch(const std::vector<GraphEvent> &batch) override;
|
|
65
|
+
|
|
66
|
+
/** Returns number of visited pairs */
|
|
67
|
+
count visPairs();
|
|
68
|
+
|
|
69
|
+
edgeweight getDistance(node u, node v);
|
|
70
|
+
edgeweight getSigma(node u, node v);
|
|
71
|
+
|
|
72
|
+
count numAffectedAPSP();
|
|
73
|
+
|
|
74
|
+
count numAffectedDep();
|
|
75
|
+
|
|
76
|
+
double getTimeDep();
|
|
77
|
+
|
|
78
|
+
private:
|
|
79
|
+
void increaseScore(std::vector<bool> &affected, node y, PrioQ &Q);
|
|
80
|
+
void decreaseScore(std::vector<bool> &affected, node y, PrioQ &Q);
|
|
81
|
+
node u;
|
|
82
|
+
node v;
|
|
83
|
+
edgeweight diameter = 0.0;
|
|
84
|
+
const edgeweight infDist = std::numeric_limits<edgeweight>::max();
|
|
85
|
+
count visitedPairs = 0;
|
|
86
|
+
std::vector<std::vector<edgeweight>> distances;
|
|
87
|
+
std::vector<std::vector<edgeweight>> distancesOld;
|
|
88
|
+
// total number of shortest paths between two nodes
|
|
89
|
+
std::vector<std::vector<edgeweight>> sigma;
|
|
90
|
+
std::vector<std::vector<edgeweight>> sigmaOld;
|
|
91
|
+
|
|
92
|
+
count affectedAPSP = 0;
|
|
93
|
+
count affectedDep = 0;
|
|
94
|
+
double timeDep = 0;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
} /* namespace NetworKit */
|
|
98
|
+
|
|
99
|
+
#endif // NETWORKIT_CENTRALITY_DYN_BETWEENNESS_HPP_
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DYNBETNODE.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 10.03.2016
|
|
5
|
+
* Author: Elisabetta Bergamini
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_CENTRALITY_DYN_BETWEENNESS_ONE_NODE_HPP_
|
|
9
|
+
#define NETWORKIT_CENTRALITY_DYN_BETWEENNESS_ONE_NODE_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/base/Algorithm.hpp>
|
|
12
|
+
#include <networkit/base/DynAlgorithm.hpp>
|
|
13
|
+
#include <networkit/dynamics/GraphEvent.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup graph
|
|
19
|
+
* This algorithm computes the betweenness centrality for a specified focus node x.
|
|
20
|
+
* It works for dynamic graphs that can be undirected/directed and unweighted/weighted without
|
|
21
|
+
* negative cycles. The Algorithm proceeds as described in [1]. The run() method computes the
|
|
22
|
+
* betweenness centrality by computing SSSP (similar to Dijkstra) for each node.
|
|
23
|
+
* The update() method only works with edge insertions and edge weight decrements and has a WC
|
|
24
|
+
* runtime complexity of O(n²) which outperforms the DynamicBetweenness algorithm for all nodes
|
|
25
|
+
* (instead of one focus node) that takes O(nm).
|
|
26
|
+
*
|
|
27
|
+
* [1] Bergamini et al. : Improving the Betweenness Centrality of a Node by Adding Links
|
|
28
|
+
* https://dl.acm.org/doi/abs/10.1145/3166071
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
class DynBetweennessOneNode : public Algorithm, public DynAlgorithm {
|
|
32
|
+
|
|
33
|
+
public:
|
|
34
|
+
/**
|
|
35
|
+
* Creates the object for @a G.
|
|
36
|
+
*
|
|
37
|
+
* @param G The graph.
|
|
38
|
+
* @paarm x The node for which we want to compute betweenness.
|
|
39
|
+
*/
|
|
40
|
+
DynBetweennessOneNode(Graph &G, node x);
|
|
41
|
+
|
|
42
|
+
/** initialize distances and Pred by repeatedly running the Dijkstra2 algorithm */
|
|
43
|
+
void run() override;
|
|
44
|
+
|
|
45
|
+
/* Computes the betweenness centrality of x by running BFS for each node */
|
|
46
|
+
void runUnweighted();
|
|
47
|
+
|
|
48
|
+
/* Computes the betweenness centrality of x by running Dijkstra for each node */
|
|
49
|
+
void runWeighted();
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Updates the betweenness centrality of x after an edge insertions on the graph.
|
|
53
|
+
* Notice: it works only with edge insertions.
|
|
54
|
+
*
|
|
55
|
+
* @param e The edge insertions.
|
|
56
|
+
*/
|
|
57
|
+
void update(GraphEvent event) override;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Updates the betweenness centrality of x after a batch of edge insertions on the graph.
|
|
61
|
+
* Notice: it works only with edge insertions.
|
|
62
|
+
*
|
|
63
|
+
* @param batch The batch of edge insertions.
|
|
64
|
+
*/
|
|
65
|
+
void updateBatch(const std::vector<GraphEvent> &batch) override;
|
|
66
|
+
|
|
67
|
+
/** Returns the new betweenness score of node x after the insertion of an edge. Distances and
|
|
68
|
+
* scores of the other nodes are not changed by this function. */
|
|
69
|
+
edgeweight computeScore(GraphEvent event);
|
|
70
|
+
|
|
71
|
+
edgeweight getDistance(node u, node v);
|
|
72
|
+
edgeweight getSigma(node u, node v);
|
|
73
|
+
edgeweight getSigmax(node u, node v);
|
|
74
|
+
edgeweight getbcx();
|
|
75
|
+
|
|
76
|
+
private:
|
|
77
|
+
Graph &G;
|
|
78
|
+
node x;
|
|
79
|
+
// betweenness centrality of node x
|
|
80
|
+
edgeweight bcx = 0;
|
|
81
|
+
const edgeweight infDist = std::numeric_limits<edgeweight>::max();
|
|
82
|
+
const edgeweight epsilon =
|
|
83
|
+
0.0000000001; // make sure that no legitimate edge weight is below that.
|
|
84
|
+
|
|
85
|
+
std::vector<std::vector<edgeweight>> distances;
|
|
86
|
+
std::vector<std::vector<edgeweight>> distancesOld;
|
|
87
|
+
// total number of shortest paths between two nodes
|
|
88
|
+
std::vector<std::vector<edgeweight>> sigma;
|
|
89
|
+
// number of shortest paths between two nodes that go through node x
|
|
90
|
+
std::vector<std::vector<edgeweight>> sigmax;
|
|
91
|
+
std::vector<std::vector<edgeweight>> sigmaxOld;
|
|
92
|
+
|
|
93
|
+
std::vector<node> Pred;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
} /* namespace NetworKit */
|
|
97
|
+
|
|
98
|
+
#endif // NETWORKIT_CENTRALITY_DYN_BETWEENNESS_ONE_NODE_HPP_
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DynKatzCentrality.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: April 2018
|
|
5
|
+
* Author: Alexander van der Grinten
|
|
6
|
+
* based on code by Elisabetta Bergamini
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#ifndef NETWORKIT_CENTRALITY_DYN_KATZ_CENTRALITY_HPP_
|
|
10
|
+
#define NETWORKIT_CENTRALITY_DYN_KATZ_CENTRALITY_HPP_
|
|
11
|
+
|
|
12
|
+
#include <networkit/auxiliary/PrioQueue.hpp>
|
|
13
|
+
#include <networkit/base/DynAlgorithm.hpp>
|
|
14
|
+
#include <networkit/centrality/Centrality.hpp>
|
|
15
|
+
#include <networkit/dynamics/GraphEvent.hpp>
|
|
16
|
+
|
|
17
|
+
namespace NetworKit {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @ingroup centrality
|
|
21
|
+
* Finds the top-k nodes with highest Katz centrality
|
|
22
|
+
*/
|
|
23
|
+
class DynKatzCentrality : public Centrality, public DynAlgorithm {
|
|
24
|
+
protected:
|
|
25
|
+
double alpha; // damping
|
|
26
|
+
count k;
|
|
27
|
+
count maxdeg;
|
|
28
|
+
bool groupOnly;
|
|
29
|
+
|
|
30
|
+
// Nodes that have Katz score that only differ by this constant might appear
|
|
31
|
+
// swapped in the ranking.
|
|
32
|
+
double rankTolerance;
|
|
33
|
+
|
|
34
|
+
public:
|
|
35
|
+
bool useQueue = false;
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Constructs a DynKatzCentrality object for the given Graph @a G. The damping
|
|
40
|
+
* factor is set to 1/(maxdeg + 1), where maxdeg is the maxmum degree in the
|
|
41
|
+
* graph.
|
|
42
|
+
*
|
|
43
|
+
* @param[in] G The graph.
|
|
44
|
+
* @param[in] k The number k for which we want to find the top-k nodes with
|
|
45
|
+
* highest Katz centrality
|
|
46
|
+
* @param[in] groupOnly Set whether the update will only update top-k nodes.
|
|
47
|
+
* @param[in] tolerance The tolerance for convergence.
|
|
48
|
+
*/
|
|
49
|
+
DynKatzCentrality(const Graph &G, count k, bool groupOnly = false, double tolerance = 1e-9);
|
|
50
|
+
|
|
51
|
+
void run() override;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Updates the katz centralities after an edge insertion or deletion on the
|
|
55
|
+
* graph.
|
|
56
|
+
*
|
|
57
|
+
* @param event The edge insertions or deletion.
|
|
58
|
+
*/
|
|
59
|
+
void updateBatch(const std::vector<GraphEvent> &events) override;
|
|
60
|
+
|
|
61
|
+
void update(GraphEvent singleEvent) override {
|
|
62
|
+
std::vector<GraphEvent> events{singleEvent};
|
|
63
|
+
updateBatch(events);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
node top(count n = 0) {
|
|
67
|
+
assert(activeRanking.size() > n);
|
|
68
|
+
return activeRanking[n];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Returns the (upper) bound of the centrality of each node
|
|
73
|
+
*/
|
|
74
|
+
double bound(node v);
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Returns true if the bounds are sharp enough to rank two nodes against each
|
|
78
|
+
* other.
|
|
79
|
+
*/
|
|
80
|
+
bool areDistinguished(node u, node v);
|
|
81
|
+
|
|
82
|
+
private:
|
|
83
|
+
/**
|
|
84
|
+
* Returns true if the bounds are sharp enough to rank two nodes against
|
|
85
|
+
* each other **within the tolerance**.
|
|
86
|
+
* Precondition: The first node appears higher in the current ranking the the
|
|
87
|
+
* second one.
|
|
88
|
+
*/
|
|
89
|
+
bool areSufficientlyRanked(node high, node low);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Performs a single iteration of the algorithm.
|
|
93
|
+
*/
|
|
94
|
+
void doIteration();
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Returns true iff the ranking converged for the top-k.
|
|
98
|
+
*/
|
|
99
|
+
bool checkConvergence();
|
|
100
|
+
|
|
101
|
+
std::vector<bool> isActive;
|
|
102
|
+
std::vector<node> activeRanking;
|
|
103
|
+
Aux::PrioQueue<double, node> activeQueue;
|
|
104
|
+
bool filledQueue = false;
|
|
105
|
+
|
|
106
|
+
std::vector<double> baseData;
|
|
107
|
+
std::vector<double> boundData;
|
|
108
|
+
|
|
109
|
+
public: // TODO: This is public because tests access it.
|
|
110
|
+
std::vector<std::vector<count>> nPaths;
|
|
111
|
+
count levelReached = 0;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
} /* namespace NetworKit */
|
|
115
|
+
#endif // NETWORKIT_CENTRALITY_DYN_KATZ_CENTRALITY_HPP_
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DynTopHarmonicCloseness.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 28.02.2018
|
|
5
|
+
* Author: nemes, Eugenio Angriman
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_CENTRALITY_DYN_TOP_HARMONIC_CLOSENESS_HPP_
|
|
9
|
+
#define NETWORKIT_CENTRALITY_DYN_TOP_HARMONIC_CLOSENESS_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/base/Algorithm.hpp>
|
|
12
|
+
#include <networkit/base/DynAlgorithm.hpp>
|
|
13
|
+
#include <networkit/components/DynConnectedComponents.hpp>
|
|
14
|
+
#include <networkit/components/DynWeaklyConnectedComponents.hpp>
|
|
15
|
+
#include <networkit/graph/Graph.hpp>
|
|
16
|
+
#include <networkit/structures/Partition.hpp>
|
|
17
|
+
|
|
18
|
+
namespace NetworKit {
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Manages the list of the k nodes with the highest closeness centrality in a
|
|
22
|
+
* dynamic graph.
|
|
23
|
+
*
|
|
24
|
+
* @ingroup centrality
|
|
25
|
+
*/
|
|
26
|
+
class DynTopHarmonicCloseness : public Algorithm, public DynAlgorithm {
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Constructs the DynTopHarmonicCloseness class. This class implements dynamic
|
|
30
|
+
* algorithms for harmonic top-k closeness centrality. The implementation
|
|
31
|
+
* is based on the static algorithms by Borassi et al. (complex networks)
|
|
32
|
+
* and Bergamini et al. (large-diameter networks).
|
|
33
|
+
*
|
|
34
|
+
* @param G The graph.
|
|
35
|
+
* @param k The number of top nodes.
|
|
36
|
+
* @param useBFSbound Whether to use the algorithm for networks with large
|
|
37
|
+
* diameter
|
|
38
|
+
*/
|
|
39
|
+
DynTopHarmonicCloseness(const Graph &G, count k = 1, bool useBFSbound = false);
|
|
40
|
+
|
|
41
|
+
~DynTopHarmonicCloseness() override;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Computes the k most central nodes on the initial graph.
|
|
45
|
+
*/
|
|
46
|
+
void run() override;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Returns a list with the k most central nodes.
|
|
50
|
+
* WARNING: closeness centrality of some nodes below the top-k could be equal
|
|
51
|
+
* to the k-th closeness, we call them trail. Set the parameter includeTrail
|
|
52
|
+
* to true to also include those nodes but consider that the resulting vector
|
|
53
|
+
* could be longer than k.
|
|
54
|
+
*
|
|
55
|
+
* @param includeTrail Whether or not to include trail nodes.
|
|
56
|
+
* @return The list of the top-k nodes.
|
|
57
|
+
*/
|
|
58
|
+
std::vector<node> topkNodesList(bool includeTrail = false);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Returns a list with the k highest closeness centralities.
|
|
62
|
+
* WARNING: closeness centrality of some nodes below the top-k could
|
|
63
|
+
* be equal to the k-th closeness, we call them trail. Set the parameter
|
|
64
|
+
* includeTrail to true to also include those centrality values but consider
|
|
65
|
+
* that the resulting vector could be longer than k.
|
|
66
|
+
*
|
|
67
|
+
* @param includeTrail Whether or not to include trail centrality value.
|
|
68
|
+
* @return The closeness centralities of the k most central nodes.
|
|
69
|
+
*/
|
|
70
|
+
std::vector<edgeweight> topkScoresList(bool includeTrail = false);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Returns the ranking of the k most central nodes in the graph.
|
|
74
|
+
* WARNING: closeness centrality of some nodes below the top-k could be equal
|
|
75
|
+
* to the k-th closeness, we call them trail. Set the parameter includeTrail
|
|
76
|
+
* to true to also include those nodes but consider that the resulting vector
|
|
77
|
+
* could be longer than k.
|
|
78
|
+
*
|
|
79
|
+
* @param includeTrail Whether or not to include trail nodes.
|
|
80
|
+
* @return The ranking.
|
|
81
|
+
*/
|
|
82
|
+
std::vector<std::pair<node, edgeweight>> ranking(bool includeTrail = false);
|
|
83
|
+
|
|
84
|
+
void reset();
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Updates the list of the k nodes with the highest closeness in G.
|
|
88
|
+
*
|
|
89
|
+
* @param event The edge modification event.
|
|
90
|
+
*/
|
|
91
|
+
void update(GraphEvent event) override;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Updates the list of k nodes with the highest closeness in G
|
|
95
|
+
* after a batch of updates.
|
|
96
|
+
*
|
|
97
|
+
* @param batch A vector of edge modification events.
|
|
98
|
+
*/
|
|
99
|
+
void updateBatch(const std::vector<GraphEvent> &batch) override;
|
|
100
|
+
|
|
101
|
+
protected:
|
|
102
|
+
/**
|
|
103
|
+
* Runs a pruned BFS from the node @a u. The search is aborted once the
|
|
104
|
+
* closeness centrality of @a u must be smaller than @a x.
|
|
105
|
+
*
|
|
106
|
+
* @param v The start node.
|
|
107
|
+
* @param x The closeness centrality of the k-th most central node.
|
|
108
|
+
* @param n The number of nodes in the graph.
|
|
109
|
+
* @param r The number of reachable nodes (or an upper bound in directed
|
|
110
|
+
* graphs) for each node.
|
|
111
|
+
* @param visited The vector containing the visited status.
|
|
112
|
+
* @param distances The vector containing the distances.
|
|
113
|
+
* @param pred The vector containing the predecessor of each node.
|
|
114
|
+
* @param visitedEdges The number of visited edges.
|
|
115
|
+
* @return
|
|
116
|
+
*/
|
|
117
|
+
std::pair<edgeweight, bool> BFScut(node v, edgeweight x, count n, count r,
|
|
118
|
+
std::vector<uint8_t> &visited, std::vector<count> &distances,
|
|
119
|
+
std::vector<node> &pred, count &visitedEdges);
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Computes the exact closeness centrality of the node @a x and stores upper
|
|
123
|
+
* bounds for all other nodes in @a S2.
|
|
124
|
+
*
|
|
125
|
+
* @param x The start node.
|
|
126
|
+
* @param S2 The upper bounds for all other nodes.
|
|
127
|
+
* @param visEdges The number of visited edges.
|
|
128
|
+
*/
|
|
129
|
+
void BFSbound(node x, std::vector<double> &S2, count *visEdges);
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Handles an edge insertion.
|
|
133
|
+
*
|
|
134
|
+
* @param event The graph event.
|
|
135
|
+
*/
|
|
136
|
+
void addEdge(const GraphEvent &event);
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Handles an edge removal.
|
|
140
|
+
*
|
|
141
|
+
* @param event The graph event.
|
|
142
|
+
*/
|
|
143
|
+
void removeEdge(const GraphEvent &event);
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Computes the number of reachable nodes or an upper bound in directed
|
|
147
|
+
* graphs.
|
|
148
|
+
*/
|
|
149
|
+
void computeReachableNodes();
|
|
150
|
+
/**
|
|
151
|
+
* Computes an upper bound for the number of reachable nodes for each node
|
|
152
|
+
* in a directed graph.
|
|
153
|
+
*/
|
|
154
|
+
void computeReachableNodesDirected();
|
|
155
|
+
/**
|
|
156
|
+
* Computes the number of reachable nodes in an undirected graph.
|
|
157
|
+
*/
|
|
158
|
+
void computeReachableNodesUndirected();
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Recomputes the number of reachable nodes in an undirected graph after
|
|
162
|
+
* inserting an edge between @a u and @a v.
|
|
163
|
+
* @param u The first node.
|
|
164
|
+
* @param v The second node.
|
|
165
|
+
*/
|
|
166
|
+
void updateReachableNodesAfterInsertion(node u, node v);
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Recomputes the number of reachable nodes in an undirected graph after
|
|
170
|
+
* removing an edge between @a u and @a v.
|
|
171
|
+
* @param u The first node.
|
|
172
|
+
* @param v The second node.
|
|
173
|
+
*/
|
|
174
|
+
void updateReachableNodesAfterDeletion(const GraphEvent &event);
|
|
175
|
+
|
|
176
|
+
void init();
|
|
177
|
+
|
|
178
|
+
const Graph &G;
|
|
179
|
+
count n;
|
|
180
|
+
count k;
|
|
181
|
+
bool useBFSbound;
|
|
182
|
+
count trail;
|
|
183
|
+
double minCloseness;
|
|
184
|
+
count nMinCloseness;
|
|
185
|
+
std::vector<node> topk;
|
|
186
|
+
std::vector<edgeweight> topkScores;
|
|
187
|
+
std::vector<edgeweight> allScores;
|
|
188
|
+
std::vector<uint8_t> isExact;
|
|
189
|
+
std::vector<uint8_t> isValid;
|
|
190
|
+
std::vector<edgeweight> cutOff;
|
|
191
|
+
std::vector<uint8_t> exactCutOff;
|
|
192
|
+
DynConnectedComponents *comps;
|
|
193
|
+
bool hasComps = false;
|
|
194
|
+
Partition component;
|
|
195
|
+
DynWeaklyConnectedComponents *wComps;
|
|
196
|
+
bool hasWComps = false;
|
|
197
|
+
std::vector<count> r;
|
|
198
|
+
std::vector<count> rOld;
|
|
199
|
+
std::vector<count> reachL;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
inline std::vector<node> DynTopHarmonicCloseness::topkNodesList(bool includeTrail) {
|
|
203
|
+
assureFinished();
|
|
204
|
+
if (!includeTrail) {
|
|
205
|
+
auto begin = topk.begin();
|
|
206
|
+
std::vector<node> topkNoTrail(begin, begin + k);
|
|
207
|
+
return topkNoTrail;
|
|
208
|
+
}
|
|
209
|
+
return topk;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
inline std::vector<edgeweight> DynTopHarmonicCloseness::topkScoresList(bool includeTrail) {
|
|
213
|
+
assureFinished();
|
|
214
|
+
if (!includeTrail) {
|
|
215
|
+
auto begin = topkScores.begin();
|
|
216
|
+
std::vector<edgeweight> topkScoresNoTrail(begin, begin + k);
|
|
217
|
+
return topkScoresNoTrail;
|
|
218
|
+
}
|
|
219
|
+
return topkScores;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
} /* namespace NetworKit */
|
|
223
|
+
#endif // NETWORKIT_CENTRALITY_DYN_TOP_HARMONIC_CLOSENESS_HPP_
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* EigenvectorCentrality.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 19.03.2014
|
|
5
|
+
* Author: Henning
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_CENTRALITY_EIGENVECTOR_CENTRALITY_HPP_
|
|
9
|
+
#define NETWORKIT_CENTRALITY_EIGENVECTOR_CENTRALITY_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/centrality/Centrality.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup centrality
|
|
17
|
+
* Computes the leading eigenvector of the graph's adjacency matrix (normalized in 2-norm).
|
|
18
|
+
* Interpreted as eigenvector centrality score.
|
|
19
|
+
*/
|
|
20
|
+
class EigenvectorCentrality final : public Centrality {
|
|
21
|
+
const double tol; // error tolerance
|
|
22
|
+
|
|
23
|
+
public:
|
|
24
|
+
/**
|
|
25
|
+
* Constructs an EigenvectorCentrality object for the given Graph @a G. @a tol defines the
|
|
26
|
+
* tolerance for convergence.
|
|
27
|
+
*
|
|
28
|
+
* @param[in] G The graph.
|
|
29
|
+
* @param[in] tol The tolerance for convergence.
|
|
30
|
+
* TODO running time
|
|
31
|
+
*/
|
|
32
|
+
EigenvectorCentrality(const Graph &G, double tol = 1e-8);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Computes eigenvector centrality on the graph passed in constructor.
|
|
36
|
+
*/
|
|
37
|
+
void run() override;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
} /* namespace NetworKit */
|
|
41
|
+
#endif // NETWORKIT_CENTRALITY_EIGENVECTOR_CENTRALITY_HPP_
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* EstimateBetweenness.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 13.06.2014
|
|
5
|
+
* Author: Christian Staudt, Elisabetta Bergamini
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_CENTRALITY_ESTIMATE_BETWEENNESS_HPP_
|
|
9
|
+
#define NETWORKIT_CENTRALITY_ESTIMATE_BETWEENNESS_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/centrality/Centrality.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup centrality
|
|
17
|
+
* Estimation of betweenness centrality according to algorithm described in
|
|
18
|
+
* Sanders, Geisberger, Schultes: Better Approximation of Betweenness Centrality.
|
|
19
|
+
* There is no proven theoretical guarantee on the quality of the approximation. However, the
|
|
20
|
+
* algorithm was shown to perform well in practice. If a guarantee is required, use
|
|
21
|
+
* ApproxBetweenness.
|
|
22
|
+
*/
|
|
23
|
+
class EstimateBetweenness : public Centrality {
|
|
24
|
+
|
|
25
|
+
public:
|
|
26
|
+
/**
|
|
27
|
+
* The algorithm estimates the betweenness of all nodes, using weighting
|
|
28
|
+
* of the contributions to avoid biased estimation. The run() method takes O(m)
|
|
29
|
+
* time per sample, where m is the number of edges of the graph.
|
|
30
|
+
*
|
|
31
|
+
* @param graph input graph
|
|
32
|
+
* @param nSamples user defined number of samples
|
|
33
|
+
* @param normalized normalize centrality values in interval [0,1] ?
|
|
34
|
+
* @param parallel_flag if true, run in parallel with additional memory cost z + 3z * t
|
|
35
|
+
*/
|
|
36
|
+
EstimateBetweenness(const Graph &G, count nSamples, bool normalized = false,
|
|
37
|
+
bool parallel_flag = false);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Computes betweenness estimation on the graph passed in constructor.
|
|
41
|
+
*/
|
|
42
|
+
void run() override;
|
|
43
|
+
|
|
44
|
+
private:
|
|
45
|
+
count nSamples;
|
|
46
|
+
bool parallel_flag;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
} /* namespace NetworKit */
|
|
50
|
+
|
|
51
|
+
#endif // NETWORKIT_CENTRALITY_ESTIMATE_BETWEENNESS_HPP_
|