@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,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* JaccardIndex.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 23.03.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_JACCARD_INDEX_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_JACCARD_INDEX_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/linkprediction/LinkPredictor.hpp>
|
|
12
|
+
#include <networkit/linkprediction/NeighborhoodUtility.hpp>
|
|
13
|
+
|
|
14
|
+
namespace NetworKit {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @ingroup linkprediction
|
|
18
|
+
*
|
|
19
|
+
* Implementation of the Jaccard index which normalizes the Common Neighbors Index.
|
|
20
|
+
* This is done through dividing the number of common neighbors by the number of nodes
|
|
21
|
+
* in the neighboorhood-union.
|
|
22
|
+
*/
|
|
23
|
+
class JaccardIndex final : public LinkPredictor {
|
|
24
|
+
/**
|
|
25
|
+
* Returns the Jaccard index for the given node-pair (@a u, @a v).
|
|
26
|
+
* @param u First node
|
|
27
|
+
* @param v Second node
|
|
28
|
+
* @return the Jaccard index for the given node-pair (@a u, @a v)
|
|
29
|
+
*/
|
|
30
|
+
double runImpl(node u, node v) override {
|
|
31
|
+
const auto unionSize = NeighborhoodUtility::getNeighborsUnion(*G, u, v).size();
|
|
32
|
+
if (unionSize == 0) {
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
return 1.0 * NeighborhoodUtility::getCommonNeighbors(*G, u, v).size() / unionSize;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public:
|
|
39
|
+
using LinkPredictor::LinkPredictor;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
} // namespace NetworKit
|
|
43
|
+
|
|
44
|
+
#endif // NETWORKIT_LINKPREDICTION_JACCARD_INDEX_HPP_
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* KatzIndex.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 30.01.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_KATZ_INDEX_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_KATZ_INDEX_HPP_
|
|
10
|
+
|
|
11
|
+
#include <unordered_map>
|
|
12
|
+
|
|
13
|
+
#include <networkit/linkprediction/LinkPredictor.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup linkprediction
|
|
19
|
+
*
|
|
20
|
+
* Implementation of the Katz index.
|
|
21
|
+
* Katz index assigns a pair of nodes a similarity score
|
|
22
|
+
* that is based on the sum of the weighted number of paths of length l
|
|
23
|
+
* where l is smaller than a given limit.
|
|
24
|
+
*/
|
|
25
|
+
class KatzIndex final : public LinkPredictor {
|
|
26
|
+
count maxPathLength; //!< Maximal length of the paths to consider
|
|
27
|
+
|
|
28
|
+
double dampingValue; //!< Damping factor in (0,1) used to exponentially damp every addend of the
|
|
29
|
+
//!< sum
|
|
30
|
+
|
|
31
|
+
node lastStartNode; //!< Node at which the algorithm started at the last call
|
|
32
|
+
|
|
33
|
+
std::unordered_map<node, double>
|
|
34
|
+
lastScores; //!< Stores the last generated scores from the lastStartNode
|
|
35
|
+
|
|
36
|
+
std::vector<double>
|
|
37
|
+
dampingFactors; //!< Stores precalculated damping factors to increase performance
|
|
38
|
+
|
|
39
|
+
// Helper method used to access the score for a given node-pair. Checks which of the given nodes
|
|
40
|
+
// was used as the starting node and uses the other node to access the last scores generated.
|
|
41
|
+
// Defaults to 0.0 if no score could be found.
|
|
42
|
+
double getScore(node u, node v) const;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Returns the similarity score for the given node-pair based on the Katz index specified during
|
|
46
|
+
* construction. The algorithm considers all paths starting at the node with the smaller degree
|
|
47
|
+
* except the algorithm started at the other node at the last call.
|
|
48
|
+
* @param u First node
|
|
49
|
+
* @param v Second node
|
|
50
|
+
* @return the similarity score of the given node-pair calculated by the specified Katz index
|
|
51
|
+
*/
|
|
52
|
+
double runImpl(node u, node v) override;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Calculated the damping factors for every path length smaller or equal to maxPathLength.
|
|
56
|
+
* This can be used to cache damping factors to increase performance through reuse.
|
|
57
|
+
* The results will be stored in dampingFactors and dampingFactors[0] is always 1.
|
|
58
|
+
*/
|
|
59
|
+
void calcDampingFactors();
|
|
60
|
+
|
|
61
|
+
public:
|
|
62
|
+
/**
|
|
63
|
+
* @param maxPathLength Maximal length of the paths to consider
|
|
64
|
+
* @param dampingValue Used to exponentially damp every addend of the sum. Should be in (0, 1]
|
|
65
|
+
*/
|
|
66
|
+
explicit KatzIndex(count maxPathLength = 5, double dampingValue = 0.005);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @param G The graph to operate on
|
|
70
|
+
* @param maxPathLength Maximal length of the paths to consider
|
|
71
|
+
* @param dampingValue Used to exponentially damp every addend of the sum. Should be in (0, 1]
|
|
72
|
+
*/
|
|
73
|
+
explicit KatzIndex(const Graph &G, count maxPathLength = 5, double dampingValue = 0.005);
|
|
74
|
+
|
|
75
|
+
// Overriding this method is necessary as the implementation of the Katz index makes use
|
|
76
|
+
// of caching. This makes run() not thread-safe. To still achieve performance gains
|
|
77
|
+
// we split the nodePairs into subsets and create a new Katz instance for every subset.
|
|
78
|
+
std::vector<LinkPredictor::prediction>
|
|
79
|
+
runOn(std::vector<std::pair<node, node>> nodePairs) override;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
} // namespace NetworKit
|
|
83
|
+
|
|
84
|
+
#endif // NETWORKIT_LINKPREDICTION_KATZ_INDEX_HPP_
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* LinkPredictor.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 28.02.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_LINK_PREDICTOR_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_LINK_PREDICTOR_HPP_
|
|
10
|
+
|
|
11
|
+
#include <memory>
|
|
12
|
+
|
|
13
|
+
#include <networkit/graph/Graph.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup linkprediction
|
|
19
|
+
*
|
|
20
|
+
* Abstract base class for link predictors.
|
|
21
|
+
*/
|
|
22
|
+
class LinkPredictor {
|
|
23
|
+
public:
|
|
24
|
+
// Declare typedef in advance for use in the protected section
|
|
25
|
+
using prediction = std::pair<std::pair<node, node>, double>; //!< Type of predictions
|
|
26
|
+
|
|
27
|
+
private:
|
|
28
|
+
/**
|
|
29
|
+
* Subclasses implement this private method to inject the custom predictor-code.
|
|
30
|
+
* Subclasses don't have to check whether the arguments are valid or a graph is set.
|
|
31
|
+
* @param u First node in graph
|
|
32
|
+
* @param v Second node in graph
|
|
33
|
+
* @return a prediction-score indicating the likelihood of a future link between the given nodes
|
|
34
|
+
*/
|
|
35
|
+
virtual double runImpl(node u, node v) = 0;
|
|
36
|
+
|
|
37
|
+
protected:
|
|
38
|
+
const Graph *G; //!< Graph to operate on
|
|
39
|
+
|
|
40
|
+
bool validCache; //!< Indicates whether a possibly used cache is valid
|
|
41
|
+
|
|
42
|
+
public:
|
|
43
|
+
LinkPredictor();
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* @param G The graph to work on
|
|
48
|
+
*/
|
|
49
|
+
explicit LinkPredictor(const Graph &G);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Default destructor.
|
|
53
|
+
*/
|
|
54
|
+
virtual ~LinkPredictor() = default;
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Sets the graph to work on.
|
|
58
|
+
* @param newGraph The graph to work on
|
|
59
|
+
*/
|
|
60
|
+
virtual void setGraph(const Graph &newGraph);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Returns a score indicating the likelihood of a future link between the given nodes.
|
|
64
|
+
* Prior to calling this method a graph should be provided through the constructor or
|
|
65
|
+
* by calling setGraph. Note that only undirected graphs are accepted.
|
|
66
|
+
* There is also no lower or upper bound for scores and the actual range of values depends
|
|
67
|
+
* on the specific link predictor implementation. In case @a u == @a v a 0 is returned.
|
|
68
|
+
* If suitable this method might make use of parallelization to enhance performance.
|
|
69
|
+
* @param u First node in graph
|
|
70
|
+
* @param v Second node in graph
|
|
71
|
+
* @return a prediction-score indicating the likelihood of a future link between the given nodes
|
|
72
|
+
*/
|
|
73
|
+
virtual double run(node u, node v);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Executes the run-method on al given @a nodePairs and returns a vector of predictions.
|
|
77
|
+
* The result is a vector of pairs where the first element is the node-pair and it's second
|
|
78
|
+
* element the corresponding score generated by the run-method. The method makes use of
|
|
79
|
+
* parallelization.
|
|
80
|
+
* @param nodePairs Node-pairs to run the predictor on
|
|
81
|
+
* @return a vector of pairs containing the given node-pair as the first element and it's
|
|
82
|
+
* corresponding score as the second element. The vector is sorted ascendingly by node-pair
|
|
83
|
+
*/
|
|
84
|
+
virtual std::vector<prediction> runOn(std::vector<std::pair<node, node>> nodePairs);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Runs the link predictor on all currently unconnected node-pairs.
|
|
88
|
+
* Possible self-loops are also excluded. The method makes use of parallelization.
|
|
89
|
+
* @return a vector of pairs containing all currently unconnected node-pairs as the first
|
|
90
|
+
* elements and the corresponding scores as the second elements. The vector is sorted
|
|
91
|
+
* ascendingly by node-pair
|
|
92
|
+
*/
|
|
93
|
+
virtual std::vector<prediction> runAll();
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
} // namespace NetworKit
|
|
97
|
+
|
|
98
|
+
#endif // NETWORKIT_LINKPREDICTION_LINK_PREDICTOR_HPP_
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* LinkThresholder.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 01.04.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_LINK_THRESHOLDER_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_LINK_THRESHOLDER_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/linkprediction/LinkPredictor.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup linkprediction
|
|
17
|
+
*
|
|
18
|
+
* Filters given predictions based on some criterion and returns a vector of
|
|
19
|
+
* node-pairs that fulfill the given criterion.
|
|
20
|
+
* This can be used to determine which node-pairs should actually be interpreted
|
|
21
|
+
* as future links and which shouldn't.
|
|
22
|
+
*/
|
|
23
|
+
namespace LinkThresholder {
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Returns the node-pairs whose scores are at least equal to the given @a minScore.
|
|
27
|
+
* @param predictions Predictions to filter
|
|
28
|
+
* @param minScore Minimal score that the returned node-pairs should have
|
|
29
|
+
* @return a vector of node-pairs whose scores are at least equal to the given @a minScore
|
|
30
|
+
*/
|
|
31
|
+
std::vector<std::pair<node, node>>
|
|
32
|
+
byScore(const std::vector<LinkPredictor::prediction> &predictions, double minScore);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Returns the first @a numLinks highest scored node-pairs.
|
|
36
|
+
* @param predictions Predictions to filter
|
|
37
|
+
* @param numLinks Number of top-scored node-pairs to return
|
|
38
|
+
* @return the first @a numLinks highest scored node-pairs
|
|
39
|
+
*/
|
|
40
|
+
std::vector<std::pair<node, node>>
|
|
41
|
+
byCount(const std::vector<LinkPredictor::prediction> &predictions, count numLinks);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Returns the first @a percentageLinks percent of the highest scores node-pairs.
|
|
45
|
+
* @param predictions Predictions to filter
|
|
46
|
+
* @param percentageLinks Percentage of highest scored node-pairs to return
|
|
47
|
+
* @return the first @a percentageLinks percent of the highest scores node-pairs
|
|
48
|
+
*/
|
|
49
|
+
std::vector<std::pair<node, node>>
|
|
50
|
+
byPercentage(const std::vector<LinkPredictor::prediction> &predictions, double percentageLinks);
|
|
51
|
+
|
|
52
|
+
} // namespace LinkThresholder
|
|
53
|
+
|
|
54
|
+
} // namespace NetworKit
|
|
55
|
+
|
|
56
|
+
#endif // NETWORKIT_LINKPREDICTION_LINK_THRESHOLDER_HPP_
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MissingLinksFinder.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 20.03.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_MISSING_LINKS_FINDER_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_MISSING_LINKS_FINDER_HPP_
|
|
10
|
+
|
|
11
|
+
#include <utility>
|
|
12
|
+
|
|
13
|
+
#include <networkit/graph/Graph.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup linkprediction
|
|
19
|
+
*
|
|
20
|
+
* Allows the user to find missing links in the given graph.
|
|
21
|
+
* The absent links to find are narrowed down by providing a distance
|
|
22
|
+
* that the nodes of the missing links should have.
|
|
23
|
+
* For example in case of distance 2 only node-pairs that would close
|
|
24
|
+
* a triangle in the given graph get returned.
|
|
25
|
+
*/
|
|
26
|
+
class MissingLinksFinder final {
|
|
27
|
+
const Graph *G; //!< The graph to find missing links in
|
|
28
|
+
|
|
29
|
+
public:
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param G The graph to find missing links in
|
|
33
|
+
*/
|
|
34
|
+
explicit MissingLinksFinder(const Graph &G);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Returns all missing links in the graph that have distance @a k.
|
|
38
|
+
* Note that a distance of @a k actually means that there are @a k different links
|
|
39
|
+
* on the path of the two nodes that are connected through that path.
|
|
40
|
+
* @param k Distance of the absent links
|
|
41
|
+
* @return an ascendingly sorted vector of node-pairs where there is a missing link of distance
|
|
42
|
+
* @a k between the two nodes
|
|
43
|
+
*/
|
|
44
|
+
std::vector<std::pair<node, node>> findAtDistance(count k);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Returns all missing links in the graph that have distance @a k and are connected to @a u.
|
|
48
|
+
* Note that a distance of @a k actually means that there are @a k different links
|
|
49
|
+
* on the path of the two nodes that are connected through that path.
|
|
50
|
+
* @param u Node to find missing links from
|
|
51
|
+
* @param k Distance of the absent links
|
|
52
|
+
* @return a vector of node-pairs where there is a missing link of distance @a k
|
|
53
|
+
* between the given node @a u and another node in the graph
|
|
54
|
+
*/
|
|
55
|
+
std::vector<std::pair<node, node>> findFromNode(node u, count k);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
} // namespace NetworKit
|
|
59
|
+
|
|
60
|
+
#endif // NETWORKIT_LINKPREDICTION_MISSING_LINKS_FINDER_HPP_
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* NeighborhoodDistanceIndex.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 24.06.2013
|
|
5
|
+
* Authors: cls, Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_NEIGHBORHOOD_DISTANCE_INDEX_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_NEIGHBORHOOD_DISTANCE_INDEX_HPP_
|
|
10
|
+
|
|
11
|
+
#include <cmath>
|
|
12
|
+
|
|
13
|
+
#include <networkit/linkprediction/LinkPredictor.hpp>
|
|
14
|
+
|
|
15
|
+
namespace NetworKit {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @ingroup linkprediction
|
|
19
|
+
*
|
|
20
|
+
* Assigns a distance value to pairs of nodes according to the
|
|
21
|
+
* overlap of their neighborhoods.
|
|
22
|
+
*/
|
|
23
|
+
class NeighborhoodDistanceIndex final : public LinkPredictor {
|
|
24
|
+
/**
|
|
25
|
+
* Returns the Neighborhood Distance index for the given node-pair (@a u, @a v).
|
|
26
|
+
* @param u First node
|
|
27
|
+
* @param v Second node
|
|
28
|
+
* @return the Neighborhood Distance index for the given node-pair (@a u, @a v)
|
|
29
|
+
*/
|
|
30
|
+
double runImpl(node u, node v) override {
|
|
31
|
+
count uNeighborhood = G->degree(u);
|
|
32
|
+
count vNeighborhood = G->degree(v);
|
|
33
|
+
count intersection = NeighborhoodUtility::getCommonNeighbors(*G, u, v).size();
|
|
34
|
+
return ((double)intersection) / (std::sqrt(uNeighborhood * vNeighborhood));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
using LinkPredictor::LinkPredictor;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
} /* namespace NetworKit */
|
|
42
|
+
#endif // NETWORKIT_LINKPREDICTION_NEIGHBORHOOD_DISTANCE_INDEX_HPP_
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* NeighborhoodUtility.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 06.04.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_NEIGHBORHOOD_UTILITY_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_NEIGHBORHOOD_UTILITY_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/graph/Graph.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup linkprediction
|
|
17
|
+
*
|
|
18
|
+
* Provides basic operations on neighborhoods in a given graph.
|
|
19
|
+
*/
|
|
20
|
+
class NeighborhoodUtility final {
|
|
21
|
+
/**
|
|
22
|
+
* Sorts and returns the neighborhoods of the nodes @a u and @a v in the given graph @a G.
|
|
23
|
+
* @param G Graph to obtain neighborhoods from
|
|
24
|
+
* @param u First node in the graph
|
|
25
|
+
* @param v Second node in the graph
|
|
26
|
+
* @return the sorted nodes regarding the neighborhoods of the nodes @a u and @a v in the given
|
|
27
|
+
* graph @a G.
|
|
28
|
+
*/
|
|
29
|
+
static std::pair<std::vector<node>, std::vector<node>> getSortedNeighborhoods(const Graph &G,
|
|
30
|
+
node u, node v);
|
|
31
|
+
|
|
32
|
+
public:
|
|
33
|
+
/**
|
|
34
|
+
* Returns the union of the neighboorhoods of @a u and @a v.
|
|
35
|
+
* @param G Graph to obtain neighbors-union from
|
|
36
|
+
* @param u First node
|
|
37
|
+
* @param v Second node
|
|
38
|
+
* @return a vector containing all the nodes in the neighborhood-union of @a u and @a v
|
|
39
|
+
*/
|
|
40
|
+
static std::vector<node> getNeighborsUnion(const Graph &G, node u, node v);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Returns a vector containing the node-ids of all common neighbors of @a u and @a v.
|
|
44
|
+
* @param G Graph to obtain common neighbors from
|
|
45
|
+
* @param u First node
|
|
46
|
+
* @param v Second node
|
|
47
|
+
* @return a vector containing the node-ids of all common neighbors of @a u and @a v
|
|
48
|
+
*/
|
|
49
|
+
static std::vector<node> getCommonNeighbors(const Graph &G, node u, node v);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
} // namespace NetworKit
|
|
53
|
+
|
|
54
|
+
#endif // NETWORKIT_LINKPREDICTION_NEIGHBORHOOD_UTILITY_HPP_
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* NeighborsMeasureIndex.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 05.04.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_NEIGHBORS_MEASURE_INDEX_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_NEIGHBORS_MEASURE_INDEX_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/linkprediction/LinkPredictor.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup linkprediction
|
|
17
|
+
*
|
|
18
|
+
* Implementation of the Neighbors Measure Index.
|
|
19
|
+
* This index is also known as Friends Measure and simply returns
|
|
20
|
+
* the number of connections between neighbors of the given nodes u and v.
|
|
21
|
+
*/
|
|
22
|
+
class NeighborsMeasureIndex final : public LinkPredictor {
|
|
23
|
+
/**
|
|
24
|
+
* Returns the number of connections between neighbors of @a u and @a v.
|
|
25
|
+
* @param u First node
|
|
26
|
+
* @param v Second node
|
|
27
|
+
* @return the number of connections between neighbors of @a u and @a v
|
|
28
|
+
*/
|
|
29
|
+
double runImpl(node u, node v) override {
|
|
30
|
+
double neighborConnections = 0;
|
|
31
|
+
G->forNeighborsOf(u, [&](node uNeighbor) {
|
|
32
|
+
G->forNeighborsOf(v, [&](node vNeighbor) {
|
|
33
|
+
// Don't count self-loops
|
|
34
|
+
if (uNeighbor == vNeighbor || G->hasEdge(uNeighbor, vNeighbor)) {
|
|
35
|
+
++neighborConnections;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return neighborConnections;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public:
|
|
43
|
+
using LinkPredictor::LinkPredictor;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
} // namespace NetworKit
|
|
47
|
+
|
|
48
|
+
#endif // NETWORKIT_LINKPREDICTION_NEIGHBORS_MEASURE_INDEX_HPP_
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PrecisionRecallMetric.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 21.03.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_PRECISION_RECALL_METRIC_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_PRECISION_RECALL_METRIC_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/graph/Graph.hpp>
|
|
12
|
+
#include <networkit/linkprediction/EvaluationMetric.hpp>
|
|
13
|
+
|
|
14
|
+
namespace NetworKit {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @ingroup linkprediction
|
|
18
|
+
*
|
|
19
|
+
* Provides points that define the Precision-Recall curve for a given set of predictions.
|
|
20
|
+
* Based on the generated points the area under the curve can be calculated with the trapzoidal
|
|
21
|
+
* rule.
|
|
22
|
+
*/
|
|
23
|
+
class PrecisionRecallMetric final : public EvaluationMetric {
|
|
24
|
+
/**
|
|
25
|
+
* Generates the points for the Precision-Recall curve with respect to the given predictions.
|
|
26
|
+
* The curve assigns every recall-value a corresponding precision as the y-value.
|
|
27
|
+
* In case of a tie regarding multiple y-values for a x-value the smallest (= latest) y-value
|
|
28
|
+
* will be used.
|
|
29
|
+
* @return a pair of vectors where the first vector contains all recall-values and the second
|
|
30
|
+
* vector the corresponding precision-values
|
|
31
|
+
*/
|
|
32
|
+
std::pair<std::vector<double>, std::vector<double>> generatePoints() override;
|
|
33
|
+
|
|
34
|
+
public:
|
|
35
|
+
using EvaluationMetric::EvaluationMetric;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
} // namespace NetworKit
|
|
39
|
+
|
|
40
|
+
#endif // NETWORKIT_LINKPREDICTION_PRECISION_RECALL_METRIC_HPP_
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PredictionsSorter.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 26.04.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_PREDICTIONS_SORTER_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_PREDICTIONS_SORTER_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/linkprediction/LinkPredictor.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup linkprediction
|
|
17
|
+
*
|
|
18
|
+
* Allows the sorting of predictions by score or node-pair.
|
|
19
|
+
*/
|
|
20
|
+
class PredictionsSorter final {
|
|
21
|
+
/**
|
|
22
|
+
* Comparator used to sort predictions descendingly by score and on equality
|
|
23
|
+
* ascendingly by node-pairs which means e.g. (0, 1) < (1, 1) and (0, 0) < (0, 1).
|
|
24
|
+
*/
|
|
25
|
+
struct ScoreComp {
|
|
26
|
+
bool operator()(const LinkPredictor::prediction &a,
|
|
27
|
+
const LinkPredictor::prediction &b) const {
|
|
28
|
+
return (a.second > b.second) || (a.second == b.second && a.first < b.first);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
static ScoreComp ConcreteScoreComp; //!< Comparator instance for score-based comparison
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Comparator used to sort predictions ascendingly by node-pairs.
|
|
36
|
+
*/
|
|
37
|
+
struct NodePairComp {
|
|
38
|
+
bool operator()(const LinkPredictor::prediction &a,
|
|
39
|
+
const LinkPredictor::prediction &b) const {
|
|
40
|
+
return a.first < b.first;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
static NodePairComp
|
|
45
|
+
ConcreteNodePairComp; //!< Comparator instance for node-pair-based comparison
|
|
46
|
+
|
|
47
|
+
public:
|
|
48
|
+
/**
|
|
49
|
+
* Sorts the @a predictions descendingly by score.
|
|
50
|
+
* In case there is a tie the node-pairs are used as a tie-breaker by sorting them
|
|
51
|
+
* ascendingly on the first node and on a tie ascendingly by the second node.
|
|
52
|
+
* @param predictions The predictions to sort
|
|
53
|
+
*/
|
|
54
|
+
static void sortByScore(std::vector<LinkPredictor::prediction> &predictions);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Sorts the @a predictions ascendingly by node-pair.
|
|
58
|
+
* This means for example (0, 0) < (0, 1) and (1, 1) < (1, 0).
|
|
59
|
+
* @param predictions The predictions to sort
|
|
60
|
+
*/
|
|
61
|
+
static void sortByNodePair(std::vector<LinkPredictor::prediction> &predictions);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
} // namespace NetworKit
|
|
65
|
+
|
|
66
|
+
#endif // NETWORKIT_LINKPREDICTION_PREDICTIONS_SORTER_HPP_
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* PreferentialAttachmentIndex.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 22.03.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_PREFERENTIAL_ATTACHMENT_INDEX_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_PREFERENTIAL_ATTACHMENT_INDEX_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/linkprediction/LinkPredictor.hpp>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @ingroup linkprediction
|
|
17
|
+
*
|
|
18
|
+
* Implementation of the Preferential Attachment Index.
|
|
19
|
+
* The run-method simply calculates the product of the number of nodes in the neighborhoods
|
|
20
|
+
* regarding the given nodes.
|
|
21
|
+
*/
|
|
22
|
+
class PreferentialAttachmentIndex final : public LinkPredictor {
|
|
23
|
+
/**
|
|
24
|
+
* Returns the product of the cardinalities of the neighborhoods regarding @a u and @a v.
|
|
25
|
+
* @param u First node
|
|
26
|
+
* @param v Second node
|
|
27
|
+
* @return the product of the cardinalities of the neighborhoods regarding @a u and @a v
|
|
28
|
+
*/
|
|
29
|
+
double runImpl(node u, node v) override { return G->degree(u) * G->degree(v); }
|
|
30
|
+
|
|
31
|
+
public:
|
|
32
|
+
using LinkPredictor::LinkPredictor;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
} // namespace NetworKit
|
|
36
|
+
|
|
37
|
+
#endif // NETWORKIT_LINKPREDICTION_PREFERENTIAL_ATTACHMENT_INDEX_HPP_
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ROCMetric.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 14.03.2015
|
|
5
|
+
* Author: Kolja Esders
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_LINKPREDICTION_ROC_METRIC_HPP_
|
|
9
|
+
#define NETWORKIT_LINKPREDICTION_ROC_METRIC_HPP_
|
|
10
|
+
|
|
11
|
+
#include <networkit/graph/Graph.hpp>
|
|
12
|
+
#include <networkit/linkprediction/EvaluationMetric.hpp>
|
|
13
|
+
|
|
14
|
+
namespace NetworKit {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @ingroup linkprediction
|
|
18
|
+
*
|
|
19
|
+
* Provides points that define the Receiver Operating Characteristic curve for a given set of
|
|
20
|
+
* predictions. Based on the generated points the area under the curve can be calculated with the
|
|
21
|
+
* trapzoidal rule.
|
|
22
|
+
*/
|
|
23
|
+
class ROCMetric final : public EvaluationMetric {
|
|
24
|
+
/**
|
|
25
|
+
* Generate the points of the Receiver Operating Characteristic curve regarding the previously
|
|
26
|
+
* set predictions. Note that in the case of multiple y-values mapping to the same x-value the
|
|
27
|
+
* highest (=latest) y-value gets picked.
|
|
28
|
+
* @return a pair of vectors where the first vector contains the false positive rates and the
|
|
29
|
+
* second vector the corresponding true positive rates
|
|
30
|
+
*/
|
|
31
|
+
std::pair<std::vector<double>, std::vector<double>> generatePoints() override;
|
|
32
|
+
|
|
33
|
+
public:
|
|
34
|
+
using EvaluationMetric::EvaluationMetric;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
} // namespace NetworKit
|
|
38
|
+
|
|
39
|
+
#endif // NETWORKIT_LINKPREDICTION_ROC_METRIC_HPP_
|