@ladybugmem/icebug 0.1.0 → 0.1.2
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/binding.gyp +32 -10
- package/lib/index.js +23 -11
- package/package.json +9 -15
- package/prebuilds/darwin-arm64/icebug.node +0 -0
- package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
- package/prebuilds/linux-x64/icebug.node +0 -0
- package/prebuilds/linux-x64/libnetworkit.so +0 -0
- package/scripts/download-icebug.sh +92 -0
- package/build/Release/.deps/Release/icebug.node.d +0 -1
- package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
- package/build/Release/icebug.node +0 -0
- package/build/Release/obj.target/icebug/src/addon.o +0 -0
- package/vendor/include/networkit/GlobalState.hpp +0 -86
- package/vendor/include/networkit/Globals.hpp +0 -41
- package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
- package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
- package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
- package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
- package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
- package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
- package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
- package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
- package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
- package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
- package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
- package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
- package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
- package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
- package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
- package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
- package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
- package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
- package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
- package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
- package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
- package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
- package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
- package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
- package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
- package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
- package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
- package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
- package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
- package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
- package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
- package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
- package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
- package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
- package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
- package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
- package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
- package/vendor/include/networkit/base/Algorithm.hpp +0 -41
- package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
- package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
- package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
- package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
- package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
- package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
- package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
- package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
- package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
- package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
- package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
- package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
- package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
- package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
- package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
- package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
- package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
- package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
- package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
- package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
- package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
- package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
- package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
- package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
- package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
- package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
- package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
- package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
- package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
- package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
- package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
- package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
- package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
- package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
- package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
- package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
- package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
- package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
- package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
- package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
- package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
- package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
- package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
- package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
- package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
- package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
- package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
- package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
- package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
- package/vendor/include/networkit/community/Conductance.hpp +0 -32
- package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
- package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
- package/vendor/include/networkit/community/Coverage.hpp +0 -25
- package/vendor/include/networkit/community/CutClustering.hpp +0 -62
- package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
- package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
- package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
- package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
- package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
- package/vendor/include/networkit/community/HubDominance.hpp +0 -46
- package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
- package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
- package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
- package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
- package/vendor/include/networkit/community/LFM.hpp +0 -49
- package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
- package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
- package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
- package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
- package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
- package/vendor/include/networkit/community/Modularity.hpp +0 -54
- package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
- package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
- package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
- package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
- package/vendor/include/networkit/community/PLM.hpp +0 -89
- package/vendor/include/networkit/community/PLP.hpp +0 -83
- package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
- package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
- package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
- package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
- package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
- package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
- package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
- package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
- package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
- package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
- package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
- package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
- package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
- package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
- package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
- package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
- package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
- package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
- package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
- package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
- package/vendor/include/networkit/distance/APSP.hpp +0 -70
- package/vendor/include/networkit/distance/AStar.hpp +0 -68
- package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
- package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
- package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
- package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
- package/vendor/include/networkit/distance/BFS.hpp +0 -43
- package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
- package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
- package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
- package/vendor/include/networkit/distance/Diameter.hpp +0 -97
- package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
- package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
- package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
- package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
- package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
- package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
- package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
- package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
- package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
- package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
- package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
- package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
- package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
- package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
- package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
- package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
- package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
- package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
- package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
- package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
- package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
- package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
- package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
- package/vendor/include/networkit/distance/SPSP.hpp +0 -143
- package/vendor/include/networkit/distance/SSSP.hpp +0 -216
- package/vendor/include/networkit/distance/STSP.hpp +0 -193
- package/vendor/include/networkit/distance/Volume.hpp +0 -66
- package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
- package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
- package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
- package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
- package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
- package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
- package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
- package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
- package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
- package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
- package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
- package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
- package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
- package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
- package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
- package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
- package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
- package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
- package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
- package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
- package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
- package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
- package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
- package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
- package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
- package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
- package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
- package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
- package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
- package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
- package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
- package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
- package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
- package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
- package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
- package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
- package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
- package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
- package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
- package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
- package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
- package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
- package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
- package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
- package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
- package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
- package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
- package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
- package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
- package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
- package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
- package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
- package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
- package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
- package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
- package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
- package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
- package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
- package/vendor/include/networkit/graph/Attributes.hpp +0 -568
- package/vendor/include/networkit/graph/BFS.hpp +0 -111
- package/vendor/include/networkit/graph/DFS.hpp +0 -71
- package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
- package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
- package/vendor/include/networkit/graph/Graph.hpp +0 -2083
- package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
- package/vendor/include/networkit/graph/GraphR.hpp +0 -133
- package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
- package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
- package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
- package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
- package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
- package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
- package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
- package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
- package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
- package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
- package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
- package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
- package/vendor/include/networkit/independentset/Luby.hpp +0 -27
- package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
- package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
- package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
- package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
- package/vendor/include/networkit/io/CoverReader.hpp +0 -27
- package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
- package/vendor/include/networkit/io/DGSReader.hpp +0 -39
- package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
- package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
- package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
- package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
- package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
- package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
- package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
- package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
- package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
- package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
- package/vendor/include/networkit/io/GraphIO.hpp +0 -52
- package/vendor/include/networkit/io/GraphReader.hpp +0 -40
- package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
- package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
- package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
- package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
- package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
- package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
- package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
- package/vendor/include/networkit/io/METISParser.hpp +0 -63
- package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
- package/vendor/include/networkit/io/MTXParser.hpp +0 -87
- package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
- package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
- package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
- package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
- package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
- package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
- package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
- package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
- package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
- package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
- package/vendor/include/networkit/io/RasterReader.hpp +0 -40
- package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
- package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
- package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
- package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
- package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
- package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
- package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
- package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
- package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
- package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
- package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
- package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
- package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
- package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
- package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
- package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
- package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
- package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
- package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
- package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
- package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
- package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
- package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
- package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
- package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
- package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
- package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
- package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
- package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
- package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
- package/vendor/include/networkit/matching/BMatching.hpp +0 -115
- package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
- package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
- package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
- package/vendor/include/networkit/matching/Matcher.hpp +0 -55
- package/vendor/include/networkit/matching/Matching.hpp +0 -111
- package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
- package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
- package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
- package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
- package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
- package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
- package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
- package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
- package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
- package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
- package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
- package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
- package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
- package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
- package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
- package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
- package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
- package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
- package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
- package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
- package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
- package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
- package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
- package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
- package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
- package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
- package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
- package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
- package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
- package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
- package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
- package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
- package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
- package/vendor/include/networkit/scd/GCE.hpp +0 -42
- package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
- package/vendor/include/networkit/scd/LocalT.hpp +0 -40
- package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
- package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
- package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
- package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
- package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
- package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
- package/vendor/include/networkit/scd/TCE.hpp +0 -41
- package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
- package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
- package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
- package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
- package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
- package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
- package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
- package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
- package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
- package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
- package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
- package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
- package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
- package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
- package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
- package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
- package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
- package/vendor/include/networkit/structures/Cover.hpp +0 -248
- package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
- package/vendor/include/networkit/structures/Partition.hpp +0 -335
- package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
- package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
- package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
- package/vendor/include/networkit/viz/Octree.hpp +0 -428
- package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
- package/vendor/include/networkit/viz/Point.hpp +0 -415
- package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
- package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
- package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
- package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
- package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
- package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
- package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
- package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
- package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
- package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
- package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
- package/vendor/include/tlx/algorithm.hpp +0 -36
- package/vendor/include/tlx/allocator_base.hpp +0 -100
- package/vendor/include/tlx/backtrace.hpp +0 -54
- package/vendor/include/tlx/cmdline_parser.hpp +0 -498
- package/vendor/include/tlx/container/btree.hpp +0 -3977
- package/vendor/include/tlx/container/btree_map.hpp +0 -634
- package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
- package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
- package/vendor/include/tlx/container/btree_set.hpp +0 -612
- package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
- package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
- package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
- package/vendor/include/tlx/container/lru_cache.hpp +0 -319
- package/vendor/include/tlx/container/radix_heap.hpp +0 -735
- package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
- package/vendor/include/tlx/container/simple_vector.hpp +0 -304
- package/vendor/include/tlx/container/splay_tree.hpp +0 -399
- package/vendor/include/tlx/container/string_view.hpp +0 -805
- package/vendor/include/tlx/container.hpp +0 -40
- package/vendor/include/tlx/counting_ptr.hpp +0 -522
- package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
- package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
- package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
- package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
- package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
- package/vendor/include/tlx/define/constexpr.hpp +0 -31
- package/vendor/include/tlx/define/deprecated.hpp +0 -39
- package/vendor/include/tlx/define/endian.hpp +0 -49
- package/vendor/include/tlx/define/likely.hpp +0 -33
- package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
- package/vendor/include/tlx/define.hpp +0 -36
- package/vendor/include/tlx/delegate.hpp +0 -524
- package/vendor/include/tlx/die/core.hpp +0 -311
- package/vendor/include/tlx/die.hpp +0 -106
- package/vendor/include/tlx/digest/md5.hpp +0 -81
- package/vendor/include/tlx/digest/sha1.hpp +0 -81
- package/vendor/include/tlx/digest/sha256.hpp +0 -81
- package/vendor/include/tlx/digest/sha512.hpp +0 -81
- package/vendor/include/tlx/digest.hpp +0 -30
- package/vendor/include/tlx/logger/all.hpp +0 -33
- package/vendor/include/tlx/logger/array.hpp +0 -43
- package/vendor/include/tlx/logger/core.hpp +0 -287
- package/vendor/include/tlx/logger/deque.hpp +0 -42
- package/vendor/include/tlx/logger/map.hpp +0 -65
- package/vendor/include/tlx/logger/set.hpp +0 -60
- package/vendor/include/tlx/logger/tuple.hpp +0 -66
- package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
- package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
- package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
- package/vendor/include/tlx/logger.hpp +0 -44
- package/vendor/include/tlx/math/abs_diff.hpp +0 -35
- package/vendor/include/tlx/math/aggregate.hpp +0 -231
- package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
- package/vendor/include/tlx/math/bswap.hpp +0 -148
- package/vendor/include/tlx/math/bswap_be.hpp +0 -79
- package/vendor/include/tlx/math/bswap_le.hpp +0 -79
- package/vendor/include/tlx/math/clz.hpp +0 -174
- package/vendor/include/tlx/math/ctz.hpp +0 -174
- package/vendor/include/tlx/math/div_ceil.hpp +0 -36
- package/vendor/include/tlx/math/ffs.hpp +0 -123
- package/vendor/include/tlx/math/integer_log2.hpp +0 -189
- package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
- package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
- package/vendor/include/tlx/math/popcount.hpp +0 -173
- package/vendor/include/tlx/math/power_to_the.hpp +0 -44
- package/vendor/include/tlx/math/rol.hpp +0 -112
- package/vendor/include/tlx/math/ror.hpp +0 -112
- package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
- package/vendor/include/tlx/math/round_up.hpp +0 -36
- package/vendor/include/tlx/math/sgn.hpp +0 -38
- package/vendor/include/tlx/math.hpp +0 -46
- package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
- package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
- package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
- package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
- package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
- package/vendor/include/tlx/meta/enable_if.hpp +0 -37
- package/vendor/include/tlx/meta/fold_left.hpp +0 -63
- package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/fold_right.hpp +0 -63
- package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
- package/vendor/include/tlx/meta/function_chain.hpp +0 -197
- package/vendor/include/tlx/meta/function_stack.hpp +0 -189
- package/vendor/include/tlx/meta/has_member.hpp +0 -80
- package/vendor/include/tlx/meta/has_method.hpp +0 -117
- package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
- package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
- package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
- package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
- package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
- package/vendor/include/tlx/meta/log2.hpp +0 -101
- package/vendor/include/tlx/meta/no_operation.hpp +0 -55
- package/vendor/include/tlx/meta/static_index.hpp +0 -42
- package/vendor/include/tlx/meta/vexpand.hpp +0 -34
- package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
- package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
- package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
- package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
- package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
- package/vendor/include/tlx/meta.hpp +0 -55
- package/vendor/include/tlx/multi_timer.hpp +0 -148
- package/vendor/include/tlx/port/setenv.hpp +0 -31
- package/vendor/include/tlx/port.hpp +0 -27
- package/vendor/include/tlx/semaphore.hpp +0 -119
- package/vendor/include/tlx/simple_vector.hpp +0 -20
- package/vendor/include/tlx/siphash.hpp +0 -282
- package/vendor/include/tlx/sort/networks/best.hpp +0 -611
- package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
- package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
- package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
- package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
- package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
- package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
- package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
- package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
- package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
- package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
- package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
- package/vendor/include/tlx/sort/strings.hpp +0 -329
- package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
- package/vendor/include/tlx/sort.hpp +0 -29
- package/vendor/include/tlx/stack_allocator.hpp +0 -226
- package/vendor/include/tlx/string/appendline.hpp +0 -35
- package/vendor/include/tlx/string/base64.hpp +0 -87
- package/vendor/include/tlx/string/bitdump.hpp +0 -139
- package/vendor/include/tlx/string/compare_icase.hpp +0 -42
- package/vendor/include/tlx/string/contains.hpp +0 -36
- package/vendor/include/tlx/string/contains_word.hpp +0 -42
- package/vendor/include/tlx/string/ends_with.hpp +0 -79
- package/vendor/include/tlx/string/equal_icase.hpp +0 -42
- package/vendor/include/tlx/string/erase_all.hpp +0 -70
- package/vendor/include/tlx/string/escape_html.hpp +0 -34
- package/vendor/include/tlx/string/escape_uri.hpp +0 -34
- package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
- package/vendor/include/tlx/string/extract_between.hpp +0 -40
- package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
- package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
- package/vendor/include/tlx/string/format_si_units.hpp +0 -32
- package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
- package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
- package/vendor/include/tlx/string/hexdump.hpp +0 -154
- package/vendor/include/tlx/string/index_of.hpp +0 -56
- package/vendor/include/tlx/string/join.hpp +0 -65
- package/vendor/include/tlx/string/join_generic.hpp +0 -89
- package/vendor/include/tlx/string/join_quoted.hpp +0 -46
- package/vendor/include/tlx/string/less_icase.hpp +0 -64
- package/vendor/include/tlx/string/levenshtein.hpp +0 -193
- package/vendor/include/tlx/string/pad.hpp +0 -39
- package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
- package/vendor/include/tlx/string/parse_uri.hpp +0 -66
- package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
- package/vendor/include/tlx/string/replace.hpp +0 -141
- package/vendor/include/tlx/string/split.hpp +0 -170
- package/vendor/include/tlx/string/split_quoted.hpp +0 -49
- package/vendor/include/tlx/string/split_view.hpp +0 -218
- package/vendor/include/tlx/string/split_words.hpp +0 -53
- package/vendor/include/tlx/string/ssprintf.hpp +0 -45
- package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
- package/vendor/include/tlx/string/starts_with.hpp +0 -44
- package/vendor/include/tlx/string/to_lower.hpp +0 -47
- package/vendor/include/tlx/string/to_upper.hpp +0 -47
- package/vendor/include/tlx/string/trim.hpp +0 -298
- package/vendor/include/tlx/string/union_words.hpp +0 -33
- package/vendor/include/tlx/string/word_wrap.hpp +0 -35
- package/vendor/include/tlx/string.hpp +0 -68
- package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
- package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
- package/vendor/include/tlx/thread_pool.hpp +0 -151
- package/vendor/include/tlx/timestamp.hpp +0 -23
- package/vendor/include/tlx/unused.hpp +0 -28
- package/vendor/include/tlx/vector_free.hpp +0 -30
- package/vendor/include/tlx/version.hpp +0 -49
- package/vendor/include/ttmath/ttmath.h +0 -2881
- package/vendor/include/ttmath/ttmathbig.h +0 -6111
- package/vendor/include/ttmath/ttmathdec.h +0 -419
- package/vendor/include/ttmath/ttmathint.h +0 -1923
- package/vendor/include/ttmath/ttmathmisc.h +0 -250
- package/vendor/include/ttmath/ttmathobjects.h +0 -812
- package/vendor/include/ttmath/ttmathparser.h +0 -2791
- package/vendor/include/ttmath/ttmaththreads.h +0 -252
- package/vendor/include/ttmath/ttmathtypes.h +0 -707
- package/vendor/include/ttmath/ttmathuint.h +0 -4190
- package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
- package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
- package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
- package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
- package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
- package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
- package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
- package/vendor/lib/libtlx.a +0 -0
- package/vendor/lib/pkgconfig/networkit.pc +0 -11
- package/vendor/lib/pkgconfig/tlx.pc +0 -11
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* HyperbolicGenerator.hpp
|
|
3
|
-
*
|
|
4
|
-
* Created on: 20.05.2014
|
|
5
|
-
* Author: Moritz v. Looz
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef NETWORKIT_GENERATORS_HYPERBOLIC_GENERATOR_HPP_
|
|
9
|
-
#define NETWORKIT_GENERATORS_HYPERBOLIC_GENERATOR_HPP_
|
|
10
|
-
|
|
11
|
-
#include <cmath>
|
|
12
|
-
#include <vector>
|
|
13
|
-
|
|
14
|
-
#include <networkit/auxiliary/Timer.hpp>
|
|
15
|
-
#include <networkit/generators/StaticGraphGenerator.hpp>
|
|
16
|
-
#include <networkit/generators/quadtree/Quadtree.hpp>
|
|
17
|
-
#include <networkit/geometric/HyperbolicSpace.hpp>
|
|
18
|
-
|
|
19
|
-
namespace NetworKit {
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* @ingroup generators
|
|
23
|
-
*/
|
|
24
|
-
class HyperbolicGenerator final : public StaticGraphGenerator {
|
|
25
|
-
friend class DynamicHyperbolicGenerator;
|
|
26
|
-
|
|
27
|
-
public:
|
|
28
|
-
/**
|
|
29
|
-
* @param[in] n Number of nodes
|
|
30
|
-
* @param[in] k Target average degree
|
|
31
|
-
* @param[in] exp Target exponent of power-law distribution
|
|
32
|
-
* @param[in] T Temperature
|
|
33
|
-
*/
|
|
34
|
-
HyperbolicGenerator(count n = 10000, double avgDegree = 6, double exp = 3, double T = 0);
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @param[in] angles Pointer to angles of node positions
|
|
38
|
-
* @param[in] radii Pointer to radii of node positions
|
|
39
|
-
* @param[in] r radius of poincare disk to place nodes in
|
|
40
|
-
* @param[in] thresholdDistance Edges are added for nodes closer to each other than this
|
|
41
|
-
* threshold
|
|
42
|
-
* @return Graph to be generated according to parameters
|
|
43
|
-
*/
|
|
44
|
-
GraphW generate(const vector<double> &angles, const vector<double> &radii, double R,
|
|
45
|
-
double T = 0);
|
|
46
|
-
|
|
47
|
-
GraphW generateCold(const vector<double> &angles, const vector<double> &radii, double R);
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* @return Graph to be generated according to parameters specified in constructor.
|
|
51
|
-
*/
|
|
52
|
-
GraphW generate() override;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Set the capacity of a quadtree leaf.
|
|
56
|
-
*
|
|
57
|
-
* @param capacity Tuning parameter, default value is 1000
|
|
58
|
-
*/
|
|
59
|
-
void setLeafCapacity(count capacity) { this->capacity = capacity; }
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* When using a theoretically optimal split, the quadtree will be flatter, but running time
|
|
63
|
-
* usually longer.
|
|
64
|
-
* @param split Whether to use the theoretically optimal split. Defaults to false
|
|
65
|
-
*/
|
|
66
|
-
void setTheoreticalSplit(bool split) { this->theoreticalSplit = split; }
|
|
67
|
-
|
|
68
|
-
void setBalance(double balance) { this->balance = balance; }
|
|
69
|
-
|
|
70
|
-
vector<double> getElapsedMilliseconds() const {
|
|
71
|
-
vector<double> result(threadtimers.size());
|
|
72
|
-
for (index i = 0; i < result.size(); i++) {
|
|
73
|
-
result[i] = threadtimers[i].elapsedMilliseconds();
|
|
74
|
-
}
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
private:
|
|
79
|
-
/**
|
|
80
|
-
* Set tuning parameters to their default values
|
|
81
|
-
*/
|
|
82
|
-
void initialize();
|
|
83
|
-
|
|
84
|
-
GraphW generate(count n, double R, double alpha, double T = 0);
|
|
85
|
-
|
|
86
|
-
static vector<vector<double>>
|
|
87
|
-
getBandAngles(const vector<vector<Point2DWithIndex<double>>> &bands) {
|
|
88
|
-
vector<vector<double>> bandAngles(bands.size());
|
|
89
|
-
#pragma omp parallel for
|
|
90
|
-
for (omp_index i = 0; i < static_cast<omp_index>(bands.size()); i++) {
|
|
91
|
-
const count currentBandSize = bands[i].size();
|
|
92
|
-
bandAngles[i].resize(currentBandSize);
|
|
93
|
-
for (index j = 0; j < currentBandSize; j++) {
|
|
94
|
-
bandAngles[i][j] = bands[i][j].getX();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return bandAngles;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
static vector<double> getBandRadii(int n, double R, double seriesRatio = 0.9) {
|
|
101
|
-
/*
|
|
102
|
-
* We assume band differences form a geometric series.
|
|
103
|
-
* Thus, there is a constant ratio(r) between band length differences
|
|
104
|
-
* i.e (c2-c1)/(c1-c0) = (c3-c2)/(c2-c1) = r
|
|
105
|
-
*/
|
|
106
|
-
vector<double> bandRadius;
|
|
107
|
-
bandRadius.push_back(0);
|
|
108
|
-
double a = R * (1 - seriesRatio) / (1 - std::pow(seriesRatio, std::log(n)));
|
|
109
|
-
const double logn = std::log(n);
|
|
110
|
-
|
|
111
|
-
for (int i = 1; i < logn; i++) {
|
|
112
|
-
double c_i = a * ((1 - std::pow(seriesRatio, i)) / (1 - seriesRatio));
|
|
113
|
-
bandRadius.push_back(c_i);
|
|
114
|
-
}
|
|
115
|
-
bandRadius.push_back(R);
|
|
116
|
-
return bandRadius;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
static std::tuple<double, double> getMinMaxTheta(double angle, double radius, double cLow,
|
|
120
|
-
double thresholdDistance) {
|
|
121
|
-
/**
|
|
122
|
-
Calculates the angles that are enclosing the intersection of the hyperbolic disk that is
|
|
123
|
-
around point v and the bands. Calculation is as follows:
|
|
124
|
-
1. For the most inner band, return [0, 2pi]
|
|
125
|
-
2. For other bands, consider the point P which lies on the tangent from origin to the
|
|
126
|
-
disk of point v. Its radial coordinates would be(cHigh, point[1]+deltaTheta). We're
|
|
127
|
-
looking for the deltaTheta. We know the distance from point v to P is R. Thus, we can
|
|
128
|
-
solve the hyperbolic distance of (v, P) for deltaTheta. Then, thetaMax is simply
|
|
129
|
-
point[1] + deltaTheta and thetaMin is point[1] - deltaTheta.
|
|
130
|
-
*/
|
|
131
|
-
|
|
132
|
-
// Most innerband is defined by cLow = 0
|
|
133
|
-
double minTheta, maxTheta;
|
|
134
|
-
if (cLow == 0)
|
|
135
|
-
return std::make_tuple(0.0, 2 * PI);
|
|
136
|
-
|
|
137
|
-
double a = (std::cosh(radius) * std::cosh(cLow) - std::cosh(thresholdDistance))
|
|
138
|
-
/ (std::sinh(radius) * std::sinh(cLow));
|
|
139
|
-
// handle floating point error
|
|
140
|
-
if (a < -1)
|
|
141
|
-
a = -1;
|
|
142
|
-
else if (a > 1)
|
|
143
|
-
a = 1;
|
|
144
|
-
a = std::acos(a);
|
|
145
|
-
maxTheta = angle + a;
|
|
146
|
-
minTheta = angle - a;
|
|
147
|
-
return std::make_tuple(minTheta, maxTheta);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
static vector<Point2DWithIndex<double>>
|
|
151
|
-
getPointsWithinAngles(double minTheta, double maxTheta,
|
|
152
|
-
const vector<Point2DWithIndex<double>> &band,
|
|
153
|
-
vector<double> &bandAngles) {
|
|
154
|
-
/**
|
|
155
|
-
Returns the list of points, w, that lies within minTheta and maxTheta
|
|
156
|
-
in the supplied band(That area is called as slab)
|
|
157
|
-
*/
|
|
158
|
-
assert(band.size() == bandAngles.size());
|
|
159
|
-
|
|
160
|
-
vector<Point2DWithIndex<double>> slab;
|
|
161
|
-
|
|
162
|
-
std::vector<double>::iterator low;
|
|
163
|
-
std::vector<double>::iterator high;
|
|
164
|
-
|
|
165
|
-
if (minTheta == -2 * PI)
|
|
166
|
-
minTheta = 0;
|
|
167
|
-
// Case 1: We do not have overlap 2pi, simply put all the points between min and max to the
|
|
168
|
-
// list
|
|
169
|
-
if (maxTheta <= 2 * PI && minTheta >= 0) {
|
|
170
|
-
low = std::lower_bound(bandAngles.begin(), bandAngles.end(), minTheta);
|
|
171
|
-
high = std::upper_bound(bandAngles.begin(), bandAngles.end(), maxTheta);
|
|
172
|
-
auto first = band.begin() + (low - bandAngles.begin());
|
|
173
|
-
auto last = band.begin() + (high - bandAngles.begin());
|
|
174
|
-
// Q: Does this operation increases the complexity ? It is linear in times of high - low
|
|
175
|
-
// Does not increase the complexity, since we have to check these points anyway
|
|
176
|
-
slab.insert(slab.end(), first, last);
|
|
177
|
-
}
|
|
178
|
-
// Case 2: We have 'forward' overlap at 2pi, that is maxTheta > 2pi
|
|
179
|
-
else if (maxTheta > 2 * PI) {
|
|
180
|
-
// 1. Get points from minTheta to 2pi
|
|
181
|
-
low = std::lower_bound(bandAngles.begin(), bandAngles.end(), minTheta);
|
|
182
|
-
high = std::upper_bound(bandAngles.begin(), bandAngles.end(), 2 * PI);
|
|
183
|
-
auto first = band.begin() + (low - bandAngles.begin());
|
|
184
|
-
auto last = band.begin() + (high - bandAngles.begin());
|
|
185
|
-
slab.insert(slab.end(), first, last);
|
|
186
|
-
|
|
187
|
-
// 2. Get points from 0 to maxTheta%2pi
|
|
188
|
-
low = std::lower_bound(bandAngles.begin(), bandAngles.end(), 0);
|
|
189
|
-
maxTheta = fmod(maxTheta, (2 * PI));
|
|
190
|
-
high = std::upper_bound(bandAngles.begin(), bandAngles.end(), maxTheta);
|
|
191
|
-
auto first2 = band.begin() + (low - bandAngles.begin());
|
|
192
|
-
auto last2 = band.begin() + (high - bandAngles.begin());
|
|
193
|
-
slab.insert(slab.end(), first2, last2);
|
|
194
|
-
}
|
|
195
|
-
// Case 3: We have 'backward' overlap at 2pi, that is minTheta < 0
|
|
196
|
-
else if (minTheta < 0) {
|
|
197
|
-
// 1. Get points from 2pi + minTheta to 2pi
|
|
198
|
-
minTheta = (2 * PI) + minTheta;
|
|
199
|
-
low = std::lower_bound(bandAngles.begin(), bandAngles.end(), minTheta);
|
|
200
|
-
high = std::upper_bound(bandAngles.begin(), bandAngles.end(), 2 * PI);
|
|
201
|
-
auto first = band.begin() + (low - bandAngles.begin());
|
|
202
|
-
auto last = band.begin() + (high - bandAngles.begin());
|
|
203
|
-
slab.insert(slab.end(), first, last);
|
|
204
|
-
|
|
205
|
-
// 2. Get points from 0 to maxTheta
|
|
206
|
-
low = std::lower_bound(bandAngles.begin(), bandAngles.end(), 0);
|
|
207
|
-
high = std::upper_bound(bandAngles.begin(), bandAngles.end(), maxTheta);
|
|
208
|
-
auto first2 = band.begin() + (low - bandAngles.begin());
|
|
209
|
-
auto last2 = band.begin() + (high - bandAngles.begin());
|
|
210
|
-
slab.insert(slab.end(), first2, last2);
|
|
211
|
-
}
|
|
212
|
-
return slab;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* graph parameters
|
|
217
|
-
*/
|
|
218
|
-
count nodeCount;
|
|
219
|
-
double R;
|
|
220
|
-
double alpha;
|
|
221
|
-
double temperature;
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* tuning parameters
|
|
225
|
-
*/
|
|
226
|
-
count capacity;
|
|
227
|
-
bool theoreticalSplit;
|
|
228
|
-
double balance = 0.5;
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* times
|
|
232
|
-
*/
|
|
233
|
-
vector<Aux::Timer> threadtimers;
|
|
234
|
-
};
|
|
235
|
-
} // namespace NetworKit
|
|
236
|
-
#endif // NETWORKIT_GENERATORS_HYPERBOLIC_GENERATOR_HPP_
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
#ifndef NETWORKIT_GENERATORS_LFR_GENERATOR_HPP_
|
|
2
|
-
#define NETWORKIT_GENERATORS_LFR_GENERATOR_HPP_
|
|
3
|
-
|
|
4
|
-
#include <networkit/base/Algorithm.hpp>
|
|
5
|
-
#include <networkit/generators/StaticGraphGenerator.hpp>
|
|
6
|
-
#include <networkit/graph/Graph.hpp>
|
|
7
|
-
#include <networkit/structures/Partition.hpp>
|
|
8
|
-
|
|
9
|
-
namespace NetworKit {
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @ingroup generators
|
|
13
|
-
* The LFR clustered graph generator as introduced by Andrea Lancichinetti, Santo Fortunato, and
|
|
14
|
-
* Filippo Radicchi.
|
|
15
|
-
*
|
|
16
|
-
* The community assignment follows the algorithm described in
|
|
17
|
-
* "Benchmark graphs for testing community detection algorithms". The edge generation is however
|
|
18
|
-
* taken from their follow-up publication "Benchmarks for testing community detection algorithms on
|
|
19
|
-
* directed and weighted graphs with overlapping communities". Parts of the implementation follow
|
|
20
|
-
* the choices made in their implementation which is available at
|
|
21
|
-
* https://sites.google.com/site/andrealancichinetti/software but other parts differ, for example
|
|
22
|
-
* some more checks for the realizability of the community and degree size distributions are done
|
|
23
|
-
* instead of heavily modifying the distributions.
|
|
24
|
-
*
|
|
25
|
-
* The edge-switching markov-chain algorithm implementation in NetworKit is used which is different
|
|
26
|
-
* from the implementation in the original LFR benchmark.
|
|
27
|
-
*/
|
|
28
|
-
class LFRGenerator final : public Algorithm, public StaticGraphGenerator {
|
|
29
|
-
public:
|
|
30
|
-
/**
|
|
31
|
-
* Initialize the LFR generator for @a n nodes.
|
|
32
|
-
*
|
|
33
|
-
* @note You need to set a degree sequence, a community size sequence and a mu using the
|
|
34
|
-
* additionally provided set- or generate-methods.
|
|
35
|
-
*
|
|
36
|
-
* @param n The number of nodes.
|
|
37
|
-
*/
|
|
38
|
-
LFRGenerator(count n);
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Set the given degree sequence.
|
|
42
|
-
*
|
|
43
|
-
* @param degreeSequence The degree sequence that shall be used by the generator
|
|
44
|
-
*/
|
|
45
|
-
void setDegreeSequence(std::vector<count> degreeSequence);
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Generate and set a power law degree sequence using the given average and maximum degree with
|
|
49
|
-
* the given exponent.
|
|
50
|
-
*
|
|
51
|
-
* @param avgDegree The average degree that shall be reached.
|
|
52
|
-
* @param maxDegree The maximum degree that shall be generated.
|
|
53
|
-
* @param nodeDegreeExp The (negative) exponent of the powerlaw degree sequence.
|
|
54
|
-
*/
|
|
55
|
-
void generatePowerlawDegreeSequence(count avgDegree, count maxDegree, double nodeDegreeExp);
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Set the given community size sequence.
|
|
59
|
-
*
|
|
60
|
-
* @param communitySizeSequence The community sizes that shall be used.
|
|
61
|
-
*/
|
|
62
|
-
void setCommunitySizeSequence(std::vector<count> communitySizeSequence);
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Set the partition, this replaces the community size sequence and the random assignment of the
|
|
66
|
-
* nodes to communities.
|
|
67
|
-
*
|
|
68
|
-
* @param zeta The partition to use
|
|
69
|
-
*/
|
|
70
|
-
void setPartition(Partition zeta);
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Generate a powerlaw community size sequence with the given minimum and maximum size and the
|
|
74
|
-
* given exponent.
|
|
75
|
-
*
|
|
76
|
-
* @param minCommunitySize The minimum community size to generate
|
|
77
|
-
* @param maxCommunitySize The maximum community size to generate
|
|
78
|
-
* @param communitySizeExp The (negative) exponent of the power law community size sequence
|
|
79
|
-
*/
|
|
80
|
-
void generatePowerlawCommunitySizeSequence(count minCommunitySize, count maxCommunitySize,
|
|
81
|
-
double communitySizeExp);
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Set the mixing parameter, this is the fraction of neighbors of each node that do not belong
|
|
85
|
-
* to the node's own community.
|
|
86
|
-
*
|
|
87
|
-
* @param mu The mixing parameter that shall be set.
|
|
88
|
-
*/
|
|
89
|
-
void setMu(double mu);
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Set the mixing parameter separately for each node. This is for each node the fraction of
|
|
93
|
-
* neighbors that do not belong to the node's own community.
|
|
94
|
-
*
|
|
95
|
-
* @param mu The mixing parameter for each node.
|
|
96
|
-
*/
|
|
97
|
-
void setMu(const std::vector<double> &mu);
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Set the internal degree of each node using a binomial distribution such that the expected
|
|
101
|
-
* mixing parameter is the given @a mu.
|
|
102
|
-
*
|
|
103
|
-
* The mixing parameter is for each node the fraction of neighbors that do not belong to the
|
|
104
|
-
* node's own community.
|
|
105
|
-
*
|
|
106
|
-
* @param mu The expected mu that shall be used.
|
|
107
|
-
*/
|
|
108
|
-
void setMuWithBinomialDistribution(double mu);
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Generates the graph and the community structure. The algorithm is not parallel.
|
|
112
|
-
*/
|
|
113
|
-
void run() override;
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Generates and returns the graph.
|
|
117
|
-
*
|
|
118
|
-
* @return The generated graph.
|
|
119
|
-
*/
|
|
120
|
-
GraphW generate() override;
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Returns (a copy of) the generated graph.
|
|
124
|
-
*
|
|
125
|
-
* @return The generated graph.
|
|
126
|
-
*/
|
|
127
|
-
GraphW getGraph() const;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Returns the generated graph using move semantics.
|
|
131
|
-
*
|
|
132
|
-
* @return The generated graph.
|
|
133
|
-
*/
|
|
134
|
-
GraphW &&getMoveGraph();
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Returns (a copy of) the generated partition
|
|
138
|
-
*
|
|
139
|
-
* @return The generated graph.
|
|
140
|
-
*/
|
|
141
|
-
Partition getPartition() const;
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Returns the generated partition using move semantics.
|
|
145
|
-
*
|
|
146
|
-
* @return The generated partition.
|
|
147
|
-
*/
|
|
148
|
-
Partition &&getMovePartition();
|
|
149
|
-
|
|
150
|
-
private:
|
|
151
|
-
/*
|
|
152
|
-
* These methods might be overridden by a sub-class which could use a different model or
|
|
153
|
-
* generator in order to generate the parts of the graph.
|
|
154
|
-
*/
|
|
155
|
-
std::vector<std::vector<node>> assignNodesToCommunities();
|
|
156
|
-
GraphW generateIntraClusterGraph(std::vector<count> intraDegreeSequence,
|
|
157
|
-
const std::vector<node> &localToGlobalNode);
|
|
158
|
-
GraphW generateInterClusterGraph(const std::vector<count> &externalDegreeSequence);
|
|
159
|
-
|
|
160
|
-
count n;
|
|
161
|
-
bool hasDegreeSequence;
|
|
162
|
-
std::vector<count> degreeSequence;
|
|
163
|
-
bool hasCommunitySizeSequence;
|
|
164
|
-
std::vector<count> communitySizeSequence;
|
|
165
|
-
bool hasInternalDegreeSequence;
|
|
166
|
-
std::vector<count> internalDegreeSequence;
|
|
167
|
-
bool hasGraph;
|
|
168
|
-
GraphW G;
|
|
169
|
-
bool hasPartition;
|
|
170
|
-
Partition zeta;
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
} // namespace NetworKit
|
|
174
|
-
|
|
175
|
-
#endif // NETWORKIT_GENERATORS_LFR_GENERATOR_HPP_
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* MocnikGenerator.hpp
|
|
3
|
-
*
|
|
4
|
-
* Created on: July 7, 2018
|
|
5
|
-
* Author: Franz-Benjamin Mocnik <mail@mocnik-science.net>
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef NETWORKIT_GENERATORS_MOCNIK_GENERATOR_HPP_
|
|
9
|
-
#define NETWORKIT_GENERATORS_MOCNIK_GENERATOR_HPP_
|
|
10
|
-
|
|
11
|
-
#include <networkit/generators/StaticGraphGenerator.hpp>
|
|
12
|
-
|
|
13
|
-
namespace NetworKit {
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @ingroup generators
|
|
17
|
-
*/
|
|
18
|
-
class MocnikGenerator final : public StaticGraphGenerator {
|
|
19
|
-
// GENERAL DATA
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Position of each node in space. The index of the vector is also the number of
|
|
23
|
-
* the node.
|
|
24
|
-
*/
|
|
25
|
-
std::vector<std::vector<double>> nodePositions;
|
|
26
|
-
|
|
27
|
-
// DATA FOR EACH LAYER
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Collection of nodes.
|
|
31
|
-
*/
|
|
32
|
-
using NodeCollection = std::vector<node>;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The cell array reflects how nodes are assigned to a grid. Each element of
|
|
36
|
-
* the vector corresponds to one grid cell.
|
|
37
|
-
*/
|
|
38
|
-
using CellArray = std::vector<NodeCollection>;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* State of a layer
|
|
42
|
-
*/
|
|
43
|
-
struct LayerState {
|
|
44
|
-
CellArray a;
|
|
45
|
-
int aMax;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
// FUNCTIONS RELATED TO THE LAYER STATE
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Initialize the cell array. The second parameter determines how many grid
|
|
52
|
-
* cells shall be contained in each dimension of the cell array.
|
|
53
|
-
*/
|
|
54
|
-
void initCellArray(LayerState &s, count numberOfCellsPerDimension);
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Get all nodes that are contained in the i-th grid cell
|
|
58
|
-
*/
|
|
59
|
-
NodeCollection getNodes(LayerState &s, int i);
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Add the node with number j to the corresponing grid cell
|
|
63
|
-
*/
|
|
64
|
-
void addNode(LayerState &s, int j);
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Determine, for a given position, the index of the corresponding grid cell
|
|
68
|
-
*/
|
|
69
|
-
int toIndex(LayerState &s, const std::vector<double> &v);
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Determine, for the given multi-dimensional index, the index of the
|
|
73
|
-
* corresponding grid cell
|
|
74
|
-
*/
|
|
75
|
-
int toIndex(LayerState &s, const std::vector<int> &v);
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Determine, for a given index, the multi-dimensional index of a grid cell
|
|
79
|
-
*/
|
|
80
|
-
std::vector<int> fromIndex(LayerState &s, int i);
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Determine for a grid cell given by index i the grid cells of distance r
|
|
84
|
-
*/
|
|
85
|
-
std::vector<int> boxSurface(LayerState &s, int i, int r);
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Determine for a grid cell given by index i the grid cells within distance r
|
|
89
|
-
*/
|
|
90
|
-
std::vector<int> boxVolume(LayerState &s, int j, double r);
|
|
91
|
-
|
|
92
|
-
// EDGE GENERATION
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Add the edges for n nodes and with parameter k to the graph. Thereby, use the
|
|
96
|
-
* provided relative weight. If it is indicated that the edge is part of the
|
|
97
|
-
* base layer, it is not tested whether the edge already exists inside the graph.
|
|
98
|
-
*/
|
|
99
|
-
void addEdgesToGraph(GraphW &G, count n, double k, double relativeWeight, bool baseLayer);
|
|
100
|
-
|
|
101
|
-
count dim;
|
|
102
|
-
std::vector<count> ns;
|
|
103
|
-
std::vector<double> ks;
|
|
104
|
-
bool weighted;
|
|
105
|
-
std::vector<double> relativeWeights;
|
|
106
|
-
|
|
107
|
-
public:
|
|
108
|
-
/**
|
|
109
|
-
* Creates random spatial graphs according to the Mocnik model.
|
|
110
|
-
*
|
|
111
|
-
* Please cite the following publications, in which you will find a
|
|
112
|
-
* description of the model:
|
|
113
|
-
*
|
|
114
|
-
* Franz-Benjamin Mocnik: "The Polynomial Volume Law of Complex Networks in
|
|
115
|
-
* the Context of Local and Global Optimization", Scientific Reports 8(11274)
|
|
116
|
-
* 2018. doi: 10.1038/s41598-018-29131-0
|
|
117
|
-
*
|
|
118
|
-
* Franz-Benjamin Mocnik, Andrew Frank: "Modelling Spatial Structures",
|
|
119
|
-
* Proceedings of the 12th Conference on Spatial Information Theory (COSIT),
|
|
120
|
-
* 2015, pages 44-64. doi: 10.1007/978-3-319-23374-1_3
|
|
121
|
-
*
|
|
122
|
-
* Improved algorithm.
|
|
123
|
-
*
|
|
124
|
-
* @param dim Dimension of the space.
|
|
125
|
-
* @param n Number of nodes in the graph; or a list containing the numbers
|
|
126
|
-
* of nodes in each layer in case of a hierarchical model.
|
|
127
|
-
* @param k Density parameter, determining the ratio of edges to nodes; in
|
|
128
|
-
* case of a hierarchical model, also a list of density parameters can be
|
|
129
|
-
* provided.
|
|
130
|
-
* @param weighted Determines whether weights should be added to the edges;
|
|
131
|
-
* in case of a hierarchical model, also a list of relative weights can be
|
|
132
|
-
* provided.
|
|
133
|
-
*/
|
|
134
|
-
MocnikGenerator(count dim, count n, double k, bool weighted = false);
|
|
135
|
-
MocnikGenerator(count dim, std::vector<count> ns, double k, bool weighted = false);
|
|
136
|
-
MocnikGenerator(count dim, std::vector<count> ns, std::vector<double> ks,
|
|
137
|
-
bool weighted = false);
|
|
138
|
-
MocnikGenerator(count dim, count n, double k, std::vector<double> weighted);
|
|
139
|
-
MocnikGenerator(count dim, std::vector<count> ns, double k, std::vector<double> weighted);
|
|
140
|
-
MocnikGenerator(count dim, std::vector<count> ns, std::vector<double> ks,
|
|
141
|
-
std::vector<double> weighted);
|
|
142
|
-
|
|
143
|
-
GraphW generate() override;
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
} /* namespace NetworKit */
|
|
147
|
-
#endif // NETWORKIT_GENERATORS_MOCNIK_GENERATOR_HPP_
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* MocnikGeneratorBasic.hpp
|
|
3
|
-
*
|
|
4
|
-
* Created on: July 7, 2018
|
|
5
|
-
* Author: Franz-Benjamin Mocnik <mail@mocnik-science.net>
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef NETWORKIT_GENERATORS_MOCNIK_GENERATOR_BASIC_HPP_
|
|
9
|
-
#define NETWORKIT_GENERATORS_MOCNIK_GENERATOR_BASIC_HPP_
|
|
10
|
-
|
|
11
|
-
#include <networkit/generators/StaticGraphGenerator.hpp>
|
|
12
|
-
|
|
13
|
-
namespace NetworKit {
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @ingroup generators
|
|
17
|
-
*/
|
|
18
|
-
class MocnikGeneratorBasic : public StaticGraphGenerator {
|
|
19
|
-
// GENERAL DATA
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Position of each node in space. The index of the vector is also the number of
|
|
23
|
-
* the node.
|
|
24
|
-
*/
|
|
25
|
-
std::vector<std::vector<double>> nodePositions;
|
|
26
|
-
|
|
27
|
-
count dim;
|
|
28
|
-
count n;
|
|
29
|
-
double k;
|
|
30
|
-
|
|
31
|
-
public:
|
|
32
|
-
/**
|
|
33
|
-
* Creates random spatial graphs according to the Mocnik model.
|
|
34
|
-
*
|
|
35
|
-
* Please cite the following publications, in which you will find a
|
|
36
|
-
* description of the model:
|
|
37
|
-
*
|
|
38
|
-
* Franz-Benjamin Mocnik: "The Polynomial Volume Law of Complex Networks in
|
|
39
|
-
* the Context of Local and Global Optimization", Scientific Reports 8(11274)
|
|
40
|
-
* 2018. doi: 10.1038/s41598-018-29131-0
|
|
41
|
-
*
|
|
42
|
-
* Franz-Benjamin Mocnik, Andrew Frank: "Modelling Spatial Structures",
|
|
43
|
-
* Proceedings of the 12th Conference on Spatial Information Theory (COSIT),
|
|
44
|
-
* 2015, pages 44-64. doi: 10.1007/978-3-319-23374-1_3
|
|
45
|
-
*
|
|
46
|
-
* Non-improved algorithm.
|
|
47
|
-
*
|
|
48
|
-
* @param dim Dimension of the space.
|
|
49
|
-
* @param n Number of nodes in the graph.
|
|
50
|
-
* @param k Density parameter, determining the ratio of edges to nodes.
|
|
51
|
-
*/
|
|
52
|
-
MocnikGeneratorBasic(count dim, count n, double k);
|
|
53
|
-
|
|
54
|
-
GraphW generate() override;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
} /* namespace NetworKit */
|
|
58
|
-
#endif // NETWORKIT_GENERATORS_MOCNIK_GENERATOR_BASIC_HPP_
|