@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.
Files changed (624) hide show
  1. package/README.md +14 -0
  2. package/binding.gyp +54 -0
  3. package/build/Release/.deps/Release/icebug.node.d +1 -0
  4. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +291 -0
  5. package/build/Release/icebug.node +0 -0
  6. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  7. package/lib/index.d.ts +361 -0
  8. package/lib/index.js +102 -0
  9. package/package.json +42 -0
  10. package/src/addon.cpp +1253 -0
  11. package/vendor/include/networkit/GlobalState.hpp +86 -0
  12. package/vendor/include/networkit/Globals.hpp +41 -0
  13. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +27 -0
  14. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +1292 -0
  15. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +11 -0
  16. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +537 -0
  17. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +514 -0
  18. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +323 -0
  19. package/vendor/include/networkit/algebraic/MatrixTools.hpp +156 -0
  20. package/vendor/include/networkit/algebraic/Semirings.hpp +171 -0
  21. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +111 -0
  22. package/vendor/include/networkit/algebraic/Vector.hpp +371 -0
  23. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +72 -0
  24. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +88 -0
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +96 -0
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +145 -0
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +122 -0
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +76 -0
  29. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +113 -0
  30. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +85 -0
  31. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +70 -0
  32. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +142 -0
  33. package/vendor/include/networkit/auxiliary/Enforce.hpp +117 -0
  34. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +74 -0
  35. package/vendor/include/networkit/auxiliary/HashUtils.hpp +28 -0
  36. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +52 -0
  37. package/vendor/include/networkit/auxiliary/Log.hpp +119 -0
  38. package/vendor/include/networkit/auxiliary/MissingMath.hpp +48 -0
  39. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +17 -0
  40. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +307 -0
  41. package/vendor/include/networkit/auxiliary/NumericTools.hpp +57 -0
  42. package/vendor/include/networkit/auxiliary/Parallel.hpp +56 -0
  43. package/vendor/include/networkit/auxiliary/Parallelism.hpp +33 -0
  44. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +252 -0
  45. package/vendor/include/networkit/auxiliary/Random.hpp +122 -0
  46. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +72 -0
  47. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +39 -0
  48. package/vendor/include/networkit/auxiliary/SortedList.hpp +128 -0
  49. package/vendor/include/networkit/auxiliary/SparseVector.hpp +215 -0
  50. package/vendor/include/networkit/auxiliary/SpinLock.hpp +23 -0
  51. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +322 -0
  52. package/vendor/include/networkit/auxiliary/StringTools.hpp +76 -0
  53. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +76 -0
  54. package/vendor/include/networkit/auxiliary/Timer.hpp +145 -0
  55. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +32 -0
  56. package/vendor/include/networkit/base/Algorithm.hpp +41 -0
  57. package/vendor/include/networkit/base/DynAlgorithm.hpp +31 -0
  58. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +62 -0
  59. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +136 -0
  60. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +156 -0
  61. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +124 -0
  62. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +84 -0
  63. package/vendor/include/networkit/centrality/Betweenness.hpp +47 -0
  64. package/vendor/include/networkit/centrality/Centrality.hpp +98 -0
  65. package/vendor/include/networkit/centrality/Closeness.hpp +107 -0
  66. package/vendor/include/networkit/centrality/ComplexPaths.hpp +113 -0
  67. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +161 -0
  68. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +55 -0
  69. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +95 -0
  70. package/vendor/include/networkit/centrality/DynBetweenness.hpp +99 -0
  71. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +98 -0
  72. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +115 -0
  73. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +223 -0
  74. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +41 -0
  75. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +51 -0
  76. package/vendor/include/networkit/centrality/ForestCentrality.hpp +112 -0
  77. package/vendor/include/networkit/centrality/GedWalk.hpp +225 -0
  78. package/vendor/include/networkit/centrality/GroupCloseness.hpp +115 -0
  79. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +78 -0
  80. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +77 -0
  81. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +106 -0
  82. package/vendor/include/networkit/centrality/GroupDegree.hpp +155 -0
  83. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +83 -0
  84. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +48 -0
  85. package/vendor/include/networkit/centrality/KPathCentrality.hpp +52 -0
  86. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +242 -0
  87. package/vendor/include/networkit/centrality/KatzCentrality.hpp +62 -0
  88. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +44 -0
  89. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +60 -0
  90. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +43 -0
  91. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +42 -0
  92. package/vendor/include/networkit/centrality/PageRank.hpp +101 -0
  93. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +48 -0
  94. package/vendor/include/networkit/centrality/Sfigality.hpp +45 -0
  95. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +86 -0
  96. package/vendor/include/networkit/centrality/TopCloseness.hpp +136 -0
  97. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +151 -0
  98. package/vendor/include/networkit/clique/MaximalCliques.hpp +83 -0
  99. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +59 -0
  100. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +156 -0
  101. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +57 -0
  102. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +43 -0
  103. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +33 -0
  104. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +62 -0
  105. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +31 -0
  106. package/vendor/include/networkit/community/ClusteringGenerator.hpp +75 -0
  107. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +58 -0
  108. package/vendor/include/networkit/community/Conductance.hpp +32 -0
  109. package/vendor/include/networkit/community/CoverF1Similarity.hpp +53 -0
  110. package/vendor/include/networkit/community/CoverHubDominance.hpp +38 -0
  111. package/vendor/include/networkit/community/Coverage.hpp +25 -0
  112. package/vendor/include/networkit/community/CutClustering.hpp +62 -0
  113. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +31 -0
  114. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +44 -0
  115. package/vendor/include/networkit/community/EdgeCut.hpp +24 -0
  116. package/vendor/include/networkit/community/GraphClusteringTools.hpp +103 -0
  117. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +28 -0
  118. package/vendor/include/networkit/community/HubDominance.hpp +46 -0
  119. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +44 -0
  120. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +40 -0
  121. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +40 -0
  122. package/vendor/include/networkit/community/JaccardMeasure.hpp +25 -0
  123. package/vendor/include/networkit/community/LFM.hpp +49 -0
  124. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +48 -0
  125. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +100 -0
  126. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +31 -0
  127. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +31 -0
  128. package/vendor/include/networkit/community/LouvainMapEquation.hpp +135 -0
  129. package/vendor/include/networkit/community/Modularity.hpp +54 -0
  130. package/vendor/include/networkit/community/NMIDistance.hpp +28 -0
  131. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +27 -0
  132. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +51 -0
  133. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +175 -0
  134. package/vendor/include/networkit/community/PLM.hpp +89 -0
  135. package/vendor/include/networkit/community/PLP.hpp +83 -0
  136. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +37 -0
  137. package/vendor/include/networkit/community/ParallelLeiden.hpp +96 -0
  138. package/vendor/include/networkit/community/ParallelLeidenView.hpp +138 -0
  139. package/vendor/include/networkit/community/PartitionFragmentation.hpp +30 -0
  140. package/vendor/include/networkit/community/PartitionHubDominance.hpp +37 -0
  141. package/vendor/include/networkit/community/PartitionIntersection.hpp +25 -0
  142. package/vendor/include/networkit/community/QualityMeasure.hpp +27 -0
  143. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +40 -0
  144. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +40 -0
  145. package/vendor/include/networkit/community/StablePartitionNodes.hpp +48 -0
  146. package/vendor/include/networkit/components/BiconnectedComponents.hpp +116 -0
  147. package/vendor/include/networkit/components/ComponentDecomposition.hpp +72 -0
  148. package/vendor/include/networkit/components/ConnectedComponents.hpp +55 -0
  149. package/vendor/include/networkit/components/DynConnectedComponents.hpp +71 -0
  150. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +73 -0
  151. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +44 -0
  152. package/vendor/include/networkit/components/RandomSpanningForest.hpp +36 -0
  153. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +50 -0
  154. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +59 -0
  155. package/vendor/include/networkit/correlation/Assortativity.hpp +64 -0
  156. package/vendor/include/networkit/distance/APSP.hpp +70 -0
  157. package/vendor/include/networkit/distance/AStar.hpp +68 -0
  158. package/vendor/include/networkit/distance/AStarGeneral.hpp +110 -0
  159. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +52 -0
  160. package/vendor/include/networkit/distance/AffectedNodes.hpp +130 -0
  161. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +63 -0
  162. package/vendor/include/networkit/distance/BFS.hpp +43 -0
  163. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +51 -0
  164. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +69 -0
  165. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +89 -0
  166. package/vendor/include/networkit/distance/Diameter.hpp +97 -0
  167. package/vendor/include/networkit/distance/Dijkstra.hpp +50 -0
  168. package/vendor/include/networkit/distance/DynAPSP.hpp +67 -0
  169. package/vendor/include/networkit/distance/DynBFS.hpp +56 -0
  170. package/vendor/include/networkit/distance/DynDijkstra.hpp +57 -0
  171. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +67 -0
  172. package/vendor/include/networkit/distance/DynSSSP.hpp +87 -0
  173. package/vendor/include/networkit/distance/Eccentricity.hpp +32 -0
  174. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +47 -0
  175. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +57 -0
  176. package/vendor/include/networkit/distance/FloydWarshall.hpp +93 -0
  177. package/vendor/include/networkit/distance/GraphDistance.hpp +49 -0
  178. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +62 -0
  179. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +66 -0
  180. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +41 -0
  181. package/vendor/include/networkit/distance/JaccardDistance.hpp +57 -0
  182. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +32 -0
  183. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +40 -0
  184. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +47 -0
  185. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +56 -0
  186. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +56 -0
  187. package/vendor/include/networkit/distance/NodeDistance.hpp +54 -0
  188. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +76 -0
  189. package/vendor/include/networkit/distance/ReverseBFS.hpp +46 -0
  190. package/vendor/include/networkit/distance/SPSP.hpp +143 -0
  191. package/vendor/include/networkit/distance/SSSP.hpp +216 -0
  192. package/vendor/include/networkit/distance/STSP.hpp +193 -0
  193. package/vendor/include/networkit/distance/Volume.hpp +66 -0
  194. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +40 -0
  195. package/vendor/include/networkit/dynamics/DGSWriter.hpp +30 -0
  196. package/vendor/include/networkit/dynamics/GraphDifference.hpp +110 -0
  197. package/vendor/include/networkit/dynamics/GraphEvent.hpp +55 -0
  198. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +39 -0
  199. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +55 -0
  200. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +38 -0
  201. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +26 -0
  202. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +33 -0
  203. package/vendor/include/networkit/edgescores/EdgeScore.hpp +50 -0
  204. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +33 -0
  205. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +33 -0
  206. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +32 -0
  207. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +35 -0
  208. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +29 -0
  209. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +23 -0
  210. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +39 -0
  211. package/vendor/include/networkit/embedding/Node2Vec.hpp +83 -0
  212. package/vendor/include/networkit/flow/EdmondsKarp.hpp +112 -0
  213. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +87 -0
  214. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +46 -0
  215. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +63 -0
  216. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +56 -0
  217. package/vendor/include/networkit/generators/ConfigurationModel.hpp +36 -0
  218. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +33 -0
  219. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +33 -0
  220. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +51 -0
  221. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +34 -0
  222. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +55 -0
  223. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +40 -0
  224. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +79 -0
  225. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +143 -0
  226. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +26 -0
  227. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +54 -0
  228. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +65 -0
  229. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +318 -0
  230. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +56 -0
  231. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +48 -0
  232. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +236 -0
  233. package/vendor/include/networkit/generators/LFRGenerator.hpp +175 -0
  234. package/vendor/include/networkit/generators/MocnikGenerator.hpp +147 -0
  235. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +58 -0
  236. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +128 -0
  237. package/vendor/include/networkit/generators/PubWebGenerator.hpp +94 -0
  238. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +37 -0
  239. package/vendor/include/networkit/generators/RmatGenerator.hpp +67 -0
  240. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +42 -0
  241. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +30 -0
  242. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +41 -0
  243. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +43 -0
  244. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +857 -0
  245. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +587 -0
  246. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +726 -0
  247. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +232 -0
  248. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +149 -0
  249. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +143 -0
  250. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +248 -0
  251. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +145 -0
  252. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +42 -0
  253. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +24 -0
  254. package/vendor/include/networkit/graph/Attributes.hpp +568 -0
  255. package/vendor/include/networkit/graph/BFS.hpp +111 -0
  256. package/vendor/include/networkit/graph/DFS.hpp +71 -0
  257. package/vendor/include/networkit/graph/Dijkstra.hpp +83 -0
  258. package/vendor/include/networkit/graph/EdgeIterators.hpp +171 -0
  259. package/vendor/include/networkit/graph/Graph.hpp +2083 -0
  260. package/vendor/include/networkit/graph/GraphBuilder.hpp +289 -0
  261. package/vendor/include/networkit/graph/GraphR.hpp +133 -0
  262. package/vendor/include/networkit/graph/GraphTools.hpp +589 -0
  263. package/vendor/include/networkit/graph/GraphW.hpp +1236 -0
  264. package/vendor/include/networkit/graph/KruskalMSF.hpp +50 -0
  265. package/vendor/include/networkit/graph/NeighborIterators.hpp +163 -0
  266. package/vendor/include/networkit/graph/NodeIterators.hpp +127 -0
  267. package/vendor/include/networkit/graph/PrimMSF.hpp +66 -0
  268. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +133 -0
  269. package/vendor/include/networkit/graph/SpanningForest.hpp +41 -0
  270. package/vendor/include/networkit/graph/TopologicalSort.hpp +87 -0
  271. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +126 -0
  272. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +68 -0
  273. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +44 -0
  274. package/vendor/include/networkit/independentset/Luby.hpp +27 -0
  275. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +45 -0
  276. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +47 -0
  277. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +41 -0
  278. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +44 -0
  279. package/vendor/include/networkit/io/CoverReader.hpp +27 -0
  280. package/vendor/include/networkit/io/CoverWriter.hpp +21 -0
  281. package/vendor/include/networkit/io/DGSReader.hpp +39 -0
  282. package/vendor/include/networkit/io/DibapGraphReader.hpp +43 -0
  283. package/vendor/include/networkit/io/DotGraphWriter.hpp +39 -0
  284. package/vendor/include/networkit/io/DotPartitionWriter.hpp +23 -0
  285. package/vendor/include/networkit/io/DynamicGraphReader.hpp +29 -0
  286. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +35 -0
  287. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +43 -0
  288. package/vendor/include/networkit/io/EdgeListReader.hpp +61 -0
  289. package/vendor/include/networkit/io/EdgeListWriter.hpp +48 -0
  290. package/vendor/include/networkit/io/GMLGraphReader.hpp +33 -0
  291. package/vendor/include/networkit/io/GMLGraphWriter.hpp +33 -0
  292. package/vendor/include/networkit/io/GraphIO.hpp +52 -0
  293. package/vendor/include/networkit/io/GraphReader.hpp +40 -0
  294. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +71 -0
  295. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +61 -0
  296. package/vendor/include/networkit/io/GraphWriter.hpp +27 -0
  297. package/vendor/include/networkit/io/KONECTGraphReader.hpp +44 -0
  298. package/vendor/include/networkit/io/LineFileReader.hpp +42 -0
  299. package/vendor/include/networkit/io/METISGraphReader.hpp +36 -0
  300. package/vendor/include/networkit/io/METISGraphWriter.hpp +29 -0
  301. package/vendor/include/networkit/io/METISParser.hpp +63 -0
  302. package/vendor/include/networkit/io/MTXGraphReader.hpp +31 -0
  303. package/vendor/include/networkit/io/MTXParser.hpp +87 -0
  304. package/vendor/include/networkit/io/MatrixMarketReader.hpp +33 -0
  305. package/vendor/include/networkit/io/MatrixReader.hpp +33 -0
  306. package/vendor/include/networkit/io/MemoryMappedFile.hpp +80 -0
  307. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +144 -0
  308. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +50 -0
  309. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +71 -0
  310. package/vendor/include/networkit/io/PartitionReader.hpp +34 -0
  311. package/vendor/include/networkit/io/PartitionWriter.hpp +31 -0
  312. package/vendor/include/networkit/io/RBGraphReader.hpp +37 -0
  313. package/vendor/include/networkit/io/RBMatrixReader.hpp +49 -0
  314. package/vendor/include/networkit/io/RasterReader.hpp +40 -0
  315. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +28 -0
  316. package/vendor/include/networkit/io/SNAPGraphReader.hpp +53 -0
  317. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +53 -0
  318. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +44 -0
  319. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +27 -0
  320. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +39 -0
  321. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +37 -0
  322. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +36 -0
  323. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +70 -0
  324. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +39 -0
  325. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +135 -0
  326. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +44 -0
  327. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +84 -0
  328. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +98 -0
  329. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +56 -0
  330. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +60 -0
  331. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +42 -0
  332. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +54 -0
  333. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +48 -0
  334. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +40 -0
  335. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +66 -0
  336. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +37 -0
  337. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +39 -0
  338. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +47 -0
  339. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +38 -0
  340. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +50 -0
  341. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +39 -0
  342. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +35 -0
  343. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +35 -0
  344. package/vendor/include/networkit/matching/BMatcher.hpp +52 -0
  345. package/vendor/include/networkit/matching/BMatching.hpp +115 -0
  346. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +170 -0
  347. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +78 -0
  348. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +35 -0
  349. package/vendor/include/networkit/matching/Matcher.hpp +55 -0
  350. package/vendor/include/networkit/matching/Matching.hpp +111 -0
  351. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +46 -0
  352. package/vendor/include/networkit/matching/SuitorMatcher.hpp +62 -0
  353. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +163 -0
  354. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +99 -0
  355. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +70 -0
  356. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +460 -0
  357. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +47 -0
  358. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +56 -0
  359. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +52 -0
  360. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +133 -0
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +28 -0
  362. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +165 -0
  363. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +1090 -0
  364. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +316 -0
  365. package/vendor/include/networkit/numerics/LinearSolver.hpp +151 -0
  366. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +61 -0
  367. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +36 -0
  368. package/vendor/include/networkit/numerics/Smoother.hpp +37 -0
  369. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +28 -0
  370. package/vendor/include/networkit/overlap/Overlapper.hpp +27 -0
  371. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +113 -0
  372. package/vendor/include/networkit/randomization/Curveball.hpp +49 -0
  373. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +39 -0
  374. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +39 -0
  375. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +82 -0
  376. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +157 -0
  377. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +69 -0
  378. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +303 -0
  379. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +122 -0
  380. package/vendor/include/networkit/reachability/ReachableNodes.hpp +83 -0
  381. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +51 -0
  382. package/vendor/include/networkit/scd/CliqueDetect.hpp +55 -0
  383. package/vendor/include/networkit/scd/CombinedSCD.hpp +51 -0
  384. package/vendor/include/networkit/scd/GCE.hpp +42 -0
  385. package/vendor/include/networkit/scd/LFMLocal.hpp +54 -0
  386. package/vendor/include/networkit/scd/LocalT.hpp +40 -0
  387. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +46 -0
  388. package/vendor/include/networkit/scd/PageRankNibble.hpp +55 -0
  389. package/vendor/include/networkit/scd/RandomBFS.hpp +33 -0
  390. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +121 -0
  391. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +76 -0
  392. package/vendor/include/networkit/scd/SetConductance.hpp +47 -0
  393. package/vendor/include/networkit/scd/TCE.hpp +41 -0
  394. package/vendor/include/networkit/scd/TwoPhaseL.hpp +40 -0
  395. package/vendor/include/networkit/scoring/EdgeScoring.hpp +44 -0
  396. package/vendor/include/networkit/scoring/ModularityScoring.hpp +79 -0
  397. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +59 -0
  398. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +28 -0
  399. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +34 -0
  400. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +40 -0
  401. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +30 -0
  402. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +124 -0
  403. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +63 -0
  404. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +38 -0
  405. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +33 -0
  406. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +29 -0
  407. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +23 -0
  408. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +35 -0
  409. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +92 -0
  410. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +166 -0
  411. package/vendor/include/networkit/structures/Cover.hpp +248 -0
  412. package/vendor/include/networkit/structures/LocalCommunity.hpp +363 -0
  413. package/vendor/include/networkit/structures/Partition.hpp +335 -0
  414. package/vendor/include/networkit/structures/UnionFind.hpp +66 -0
  415. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +157 -0
  416. package/vendor/include/networkit/viz/MaxentStress.hpp +346 -0
  417. package/vendor/include/networkit/viz/Octree.hpp +428 -0
  418. package/vendor/include/networkit/viz/PivotMDS.hpp +63 -0
  419. package/vendor/include/networkit/viz/Point.hpp +415 -0
  420. package/vendor/include/networkit/viz/PostscriptWriter.hpp +78 -0
  421. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +56 -0
  422. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +56 -0
  423. package/vendor/include/tlx/algorithm/merge_advance.hpp +177 -0
  424. package/vendor/include/tlx/algorithm/merge_combine.hpp +76 -0
  425. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +346 -0
  426. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +351 -0
  427. package/vendor/include/tlx/algorithm/multiway_merge.hpp +1385 -0
  428. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +257 -0
  429. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +408 -0
  430. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +116 -0
  431. package/vendor/include/tlx/algorithm.hpp +36 -0
  432. package/vendor/include/tlx/allocator_base.hpp +100 -0
  433. package/vendor/include/tlx/backtrace.hpp +54 -0
  434. package/vendor/include/tlx/cmdline_parser.hpp +498 -0
  435. package/vendor/include/tlx/container/btree.hpp +3977 -0
  436. package/vendor/include/tlx/container/btree_map.hpp +634 -0
  437. package/vendor/include/tlx/container/btree_multimap.hpp +627 -0
  438. package/vendor/include/tlx/container/btree_multiset.hpp +612 -0
  439. package/vendor/include/tlx/container/btree_set.hpp +612 -0
  440. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +416 -0
  441. package/vendor/include/tlx/container/d_ary_heap.hpp +311 -0
  442. package/vendor/include/tlx/container/loser_tree.hpp +1009 -0
  443. package/vendor/include/tlx/container/lru_cache.hpp +319 -0
  444. package/vendor/include/tlx/container/radix_heap.hpp +735 -0
  445. package/vendor/include/tlx/container/ring_buffer.hpp +428 -0
  446. package/vendor/include/tlx/container/simple_vector.hpp +304 -0
  447. package/vendor/include/tlx/container/splay_tree.hpp +399 -0
  448. package/vendor/include/tlx/container/string_view.hpp +805 -0
  449. package/vendor/include/tlx/container.hpp +40 -0
  450. package/vendor/include/tlx/counting_ptr.hpp +522 -0
  451. package/vendor/include/tlx/define/attribute_always_inline.hpp +34 -0
  452. package/vendor/include/tlx/define/attribute_fallthrough.hpp +36 -0
  453. package/vendor/include/tlx/define/attribute_format_printf.hpp +34 -0
  454. package/vendor/include/tlx/define/attribute_packed.hpp +34 -0
  455. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +34 -0
  456. package/vendor/include/tlx/define/constexpr.hpp +31 -0
  457. package/vendor/include/tlx/define/deprecated.hpp +39 -0
  458. package/vendor/include/tlx/define/endian.hpp +49 -0
  459. package/vendor/include/tlx/define/likely.hpp +33 -0
  460. package/vendor/include/tlx/define/visibility_hidden.hpp +34 -0
  461. package/vendor/include/tlx/define.hpp +36 -0
  462. package/vendor/include/tlx/delegate.hpp +524 -0
  463. package/vendor/include/tlx/die/core.hpp +311 -0
  464. package/vendor/include/tlx/die.hpp +106 -0
  465. package/vendor/include/tlx/digest/md5.hpp +81 -0
  466. package/vendor/include/tlx/digest/sha1.hpp +81 -0
  467. package/vendor/include/tlx/digest/sha256.hpp +81 -0
  468. package/vendor/include/tlx/digest/sha512.hpp +81 -0
  469. package/vendor/include/tlx/digest.hpp +30 -0
  470. package/vendor/include/tlx/logger/all.hpp +33 -0
  471. package/vendor/include/tlx/logger/array.hpp +43 -0
  472. package/vendor/include/tlx/logger/core.hpp +287 -0
  473. package/vendor/include/tlx/logger/deque.hpp +42 -0
  474. package/vendor/include/tlx/logger/map.hpp +65 -0
  475. package/vendor/include/tlx/logger/set.hpp +60 -0
  476. package/vendor/include/tlx/logger/tuple.hpp +66 -0
  477. package/vendor/include/tlx/logger/unordered_map.hpp +68 -0
  478. package/vendor/include/tlx/logger/unordered_set.hpp +64 -0
  479. package/vendor/include/tlx/logger/wrap_unprintable.hpp +75 -0
  480. package/vendor/include/tlx/logger.hpp +44 -0
  481. package/vendor/include/tlx/math/abs_diff.hpp +35 -0
  482. package/vendor/include/tlx/math/aggregate.hpp +231 -0
  483. package/vendor/include/tlx/math/aggregate_min_max.hpp +116 -0
  484. package/vendor/include/tlx/math/bswap.hpp +148 -0
  485. package/vendor/include/tlx/math/bswap_be.hpp +79 -0
  486. package/vendor/include/tlx/math/bswap_le.hpp +79 -0
  487. package/vendor/include/tlx/math/clz.hpp +174 -0
  488. package/vendor/include/tlx/math/ctz.hpp +174 -0
  489. package/vendor/include/tlx/math/div_ceil.hpp +36 -0
  490. package/vendor/include/tlx/math/ffs.hpp +123 -0
  491. package/vendor/include/tlx/math/integer_log2.hpp +189 -0
  492. package/vendor/include/tlx/math/is_power_of_two.hpp +74 -0
  493. package/vendor/include/tlx/math/polynomial_regression.hpp +243 -0
  494. package/vendor/include/tlx/math/popcount.hpp +173 -0
  495. package/vendor/include/tlx/math/power_to_the.hpp +44 -0
  496. package/vendor/include/tlx/math/rol.hpp +112 -0
  497. package/vendor/include/tlx/math/ror.hpp +112 -0
  498. package/vendor/include/tlx/math/round_to_power_of_two.hpp +121 -0
  499. package/vendor/include/tlx/math/round_up.hpp +36 -0
  500. package/vendor/include/tlx/math/sgn.hpp +38 -0
  501. package/vendor/include/tlx/math.hpp +46 -0
  502. package/vendor/include/tlx/meta/apply_tuple.hpp +55 -0
  503. package/vendor/include/tlx/meta/call_for_range.hpp +78 -0
  504. package/vendor/include/tlx/meta/call_foreach.hpp +60 -0
  505. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +60 -0
  506. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +61 -0
  507. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +64 -0
  508. package/vendor/include/tlx/meta/enable_if.hpp +37 -0
  509. package/vendor/include/tlx/meta/fold_left.hpp +63 -0
  510. package/vendor/include/tlx/meta/fold_left_tuple.hpp +60 -0
  511. package/vendor/include/tlx/meta/fold_right.hpp +63 -0
  512. package/vendor/include/tlx/meta/fold_right_tuple.hpp +60 -0
  513. package/vendor/include/tlx/meta/function_chain.hpp +197 -0
  514. package/vendor/include/tlx/meta/function_stack.hpp +189 -0
  515. package/vendor/include/tlx/meta/has_member.hpp +80 -0
  516. package/vendor/include/tlx/meta/has_method.hpp +117 -0
  517. package/vendor/include/tlx/meta/index_sequence.hpp +66 -0
  518. package/vendor/include/tlx/meta/is_std_array.hpp +40 -0
  519. package/vendor/include/tlx/meta/is_std_pair.hpp +39 -0
  520. package/vendor/include/tlx/meta/is_std_tuple.hpp +39 -0
  521. package/vendor/include/tlx/meta/is_std_vector.hpp +39 -0
  522. package/vendor/include/tlx/meta/log2.hpp +101 -0
  523. package/vendor/include/tlx/meta/no_operation.hpp +55 -0
  524. package/vendor/include/tlx/meta/static_index.hpp +42 -0
  525. package/vendor/include/tlx/meta/vexpand.hpp +34 -0
  526. package/vendor/include/tlx/meta/vmap_for_range.hpp +84 -0
  527. package/vendor/include/tlx/meta/vmap_foreach.hpp +63 -0
  528. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +59 -0
  529. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +62 -0
  530. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +70 -0
  531. package/vendor/include/tlx/meta.hpp +55 -0
  532. package/vendor/include/tlx/multi_timer.hpp +148 -0
  533. package/vendor/include/tlx/port/setenv.hpp +31 -0
  534. package/vendor/include/tlx/port.hpp +27 -0
  535. package/vendor/include/tlx/semaphore.hpp +119 -0
  536. package/vendor/include/tlx/simple_vector.hpp +20 -0
  537. package/vendor/include/tlx/siphash.hpp +282 -0
  538. package/vendor/include/tlx/sort/networks/best.hpp +611 -0
  539. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +412 -0
  540. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +507 -0
  541. package/vendor/include/tlx/sort/networks/cswap.hpp +60 -0
  542. package/vendor/include/tlx/sort/parallel_mergesort.hpp +398 -0
  543. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +232 -0
  544. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +185 -0
  545. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +1647 -0
  546. package/vendor/include/tlx/sort/strings/radix_sort.hpp +934 -0
  547. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +756 -0
  548. package/vendor/include/tlx/sort/strings/string_ptr.hpp +426 -0
  549. package/vendor/include/tlx/sort/strings/string_set.hpp +800 -0
  550. package/vendor/include/tlx/sort/strings.hpp +329 -0
  551. package/vendor/include/tlx/sort/strings_parallel.hpp +325 -0
  552. package/vendor/include/tlx/sort.hpp +29 -0
  553. package/vendor/include/tlx/stack_allocator.hpp +226 -0
  554. package/vendor/include/tlx/string/appendline.hpp +35 -0
  555. package/vendor/include/tlx/string/base64.hpp +87 -0
  556. package/vendor/include/tlx/string/bitdump.hpp +139 -0
  557. package/vendor/include/tlx/string/compare_icase.hpp +42 -0
  558. package/vendor/include/tlx/string/contains.hpp +36 -0
  559. package/vendor/include/tlx/string/contains_word.hpp +42 -0
  560. package/vendor/include/tlx/string/ends_with.hpp +79 -0
  561. package/vendor/include/tlx/string/equal_icase.hpp +42 -0
  562. package/vendor/include/tlx/string/erase_all.hpp +70 -0
  563. package/vendor/include/tlx/string/escape_html.hpp +34 -0
  564. package/vendor/include/tlx/string/escape_uri.hpp +34 -0
  565. package/vendor/include/tlx/string/expand_environment_variables.hpp +49 -0
  566. package/vendor/include/tlx/string/extract_between.hpp +40 -0
  567. package/vendor/include/tlx/string/format_iec_units.hpp +32 -0
  568. package/vendor/include/tlx/string/format_si_iec_units.hpp +19 -0
  569. package/vendor/include/tlx/string/format_si_units.hpp +32 -0
  570. package/vendor/include/tlx/string/hash_djb2.hpp +87 -0
  571. package/vendor/include/tlx/string/hash_sdbm.hpp +86 -0
  572. package/vendor/include/tlx/string/hexdump.hpp +154 -0
  573. package/vendor/include/tlx/string/index_of.hpp +56 -0
  574. package/vendor/include/tlx/string/join.hpp +65 -0
  575. package/vendor/include/tlx/string/join_generic.hpp +89 -0
  576. package/vendor/include/tlx/string/join_quoted.hpp +46 -0
  577. package/vendor/include/tlx/string/less_icase.hpp +64 -0
  578. package/vendor/include/tlx/string/levenshtein.hpp +193 -0
  579. package/vendor/include/tlx/string/pad.hpp +39 -0
  580. package/vendor/include/tlx/string/parse_si_iec_units.hpp +46 -0
  581. package/vendor/include/tlx/string/parse_uri.hpp +66 -0
  582. package/vendor/include/tlx/string/parse_uri_form_data.hpp +136 -0
  583. package/vendor/include/tlx/string/replace.hpp +141 -0
  584. package/vendor/include/tlx/string/split.hpp +170 -0
  585. package/vendor/include/tlx/string/split_quoted.hpp +49 -0
  586. package/vendor/include/tlx/string/split_view.hpp +218 -0
  587. package/vendor/include/tlx/string/split_words.hpp +53 -0
  588. package/vendor/include/tlx/string/ssprintf.hpp +45 -0
  589. package/vendor/include/tlx/string/ssprintf_generic.hpp +95 -0
  590. package/vendor/include/tlx/string/starts_with.hpp +44 -0
  591. package/vendor/include/tlx/string/to_lower.hpp +47 -0
  592. package/vendor/include/tlx/string/to_upper.hpp +47 -0
  593. package/vendor/include/tlx/string/trim.hpp +298 -0
  594. package/vendor/include/tlx/string/union_words.hpp +33 -0
  595. package/vendor/include/tlx/string/word_wrap.hpp +35 -0
  596. package/vendor/include/tlx/string.hpp +68 -0
  597. package/vendor/include/tlx/thread_barrier_mutex.hpp +109 -0
  598. package/vendor/include/tlx/thread_barrier_spin.hpp +127 -0
  599. package/vendor/include/tlx/thread_pool.hpp +151 -0
  600. package/vendor/include/tlx/timestamp.hpp +23 -0
  601. package/vendor/include/tlx/unused.hpp +28 -0
  602. package/vendor/include/tlx/vector_free.hpp +30 -0
  603. package/vendor/include/tlx/version.hpp +49 -0
  604. package/vendor/include/ttmath/ttmath.h +2881 -0
  605. package/vendor/include/ttmath/ttmathbig.h +6111 -0
  606. package/vendor/include/ttmath/ttmathdec.h +419 -0
  607. package/vendor/include/ttmath/ttmathint.h +1923 -0
  608. package/vendor/include/ttmath/ttmathmisc.h +250 -0
  609. package/vendor/include/ttmath/ttmathobjects.h +812 -0
  610. package/vendor/include/ttmath/ttmathparser.h +2791 -0
  611. package/vendor/include/ttmath/ttmaththreads.h +252 -0
  612. package/vendor/include/ttmath/ttmathtypes.h +707 -0
  613. package/vendor/include/ttmath/ttmathuint.h +4190 -0
  614. package/vendor/include/ttmath/ttmathuint_noasm.h +1038 -0
  615. package/vendor/include/ttmath/ttmathuint_x86.h +1620 -0
  616. package/vendor/include/ttmath/ttmathuint_x86_64.h +1177 -0
  617. package/vendor/lib/cmake/tlx/tlx-config.cmake +51 -0
  618. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +19 -0
  619. package/vendor/lib/cmake/tlx/tlx-targets.cmake +106 -0
  620. package/vendor/lib/cmake/tlx/tlx-version.cmake +11 -0
  621. package/vendor/lib/libnetworkit.dylib +0 -0
  622. package/vendor/lib/libtlx.a +0 -0
  623. package/vendor/lib/pkgconfig/networkit.pc +11 -0
  624. package/vendor/lib/pkgconfig/tlx.pc +11 -0
@@ -0,0 +1,75 @@
1
+ /*
2
+ * ClusteringGenerator.hpp
3
+ *
4
+ * Created on: 10.12.2012
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_CLUSTERING_GENERATOR_HPP_
9
+ #define NETWORKIT_COMMUNITY_CLUSTERING_GENERATOR_HPP_
10
+
11
+ #include <networkit/graph/Graph.hpp>
12
+ #include <networkit/structures/Partition.hpp>
13
+
14
+ namespace NetworKit {
15
+
16
+ /**
17
+ * @ingroup community
18
+ * Provides several methods for generating special clusterings.
19
+ */
20
+ class ClusteringGenerator final {
21
+
22
+ public:
23
+ /**
24
+ * Make a singleton clustering of Graph @a G, i.e. a clustering in which every node
25
+ * belongs to its own cluster.
26
+ *
27
+ * @param G The graph.
28
+ * @return A Partition in which every node belongs to its own cluster.
29
+ */
30
+ Partition makeSingletonClustering(const Graph &G);
31
+
32
+ /**
33
+ * Make a 1-clustering of Graph @a G, i.e. a clustering in which all nodes belong to the same
34
+ * cluster.
35
+ *
36
+ * @param G The graph.
37
+ * @return A Partition in which all nodes belong to the same cluster.
38
+ */
39
+ Partition makeOneClustering(const Graph &G);
40
+
41
+ /**
42
+ * Make a clustering of Graph @a G with @a k clusters to which the nodes are randomly assigned.
43
+ *
44
+ * @param G The graph.
45
+ * @param k The amount of clusters.
46
+ * @return A Partition with @a k clusters and each node randomly assigned to one of them.
47
+ */
48
+ Partition makeRandomClustering(const Graph &G, count k);
49
+
50
+ /**
51
+ * Make a clustering of Graph @a G with @a k clusters. The first n/k nodes are assigned to the
52
+ * first cluster, the next n/k nodes to the second cluster and so on.
53
+ *
54
+ * @param G The graph.
55
+ * @param k The amount of clusters.
56
+ * @return A Partition with @a k clusters and each node assigned like described above.
57
+ */
58
+ Partition makeContinuousBalancedClustering(const Graph &G, count k);
59
+
60
+ /**
61
+ * Make a clustering of a Graph @a G with @a k clusters. Each node u is assigned to cluster u %
62
+ * k. When the number of nodes n is quadratic and k is the square root of n, this clustering is
63
+ * complementary to the continuous balanced clustering in the sense that no pair of nodes that
64
+ * is in the same cluster in one of the clusterings is in the same cluster in the other
65
+ * clustering.
66
+ *
67
+ * @param G The graph.
68
+ * @param k The amount of clusters.
69
+ * @return A Partition with @a k clusters and each node assigned as described above.
70
+ */
71
+ Partition makeNoncontinuousBalancedClustering(const Graph &G, count k);
72
+ };
73
+
74
+ } /* namespace NetworKit */
75
+ #endif // NETWORKIT_COMMUNITY_CLUSTERING_GENERATOR_HPP_
@@ -0,0 +1,58 @@
1
+ /*
2
+ * CommunityDetectionAlgorithm.hpp
3
+ *
4
+ * Created on: 30.10.2012
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_COMMUNITY_DETECTION_ALGORITHM_HPP_
9
+ #define NETWORKIT_COMMUNITY_COMMUNITY_DETECTION_ALGORITHM_HPP_
10
+
11
+ #include <networkit/base/Algorithm.hpp>
12
+ #include <networkit/graph/Graph.hpp>
13
+ #include <networkit/structures/Partition.hpp>
14
+
15
+ namespace NetworKit {
16
+
17
+ /**
18
+ * @ingroup community
19
+ * Abstract base class for community detection/graph clustering algorithms.
20
+ */
21
+ class CommunityDetectionAlgorithm : public Algorithm {
22
+ public:
23
+ /**
24
+ * A community detection algorithm operates on a graph, so the constructor expects a graph.
25
+ *
26
+ * @param[in] G input graph
27
+ */
28
+ CommunityDetectionAlgorithm(const Graph &G);
29
+
30
+ /**
31
+ * A community detection algorithm operates on a graph, so the constructor expects a graph.
32
+ *
33
+ * @param[in] G input graph
34
+ * @param[in] baseClustering optional; the algorithm will start from the given clustering.
35
+ */
36
+ CommunityDetectionAlgorithm(const Graph &G, Partition baseClustering);
37
+
38
+ /** Default destructor */
39
+ ~CommunityDetectionAlgorithm() override = default;
40
+
41
+ /**
42
+ * Apply algorithm to graph
43
+ */
44
+ void run() override = 0;
45
+
46
+ /**
47
+ * Returns the result of the run method or throws an error, if the algorithm hasn't run yet.
48
+ * @return partition of the node set
49
+ */
50
+ virtual const Partition &getPartition() const;
51
+
52
+ protected:
53
+ const Graph *G;
54
+ Partition result;
55
+ };
56
+
57
+ } /* namespace NetworKit */
58
+ #endif // NETWORKIT_COMMUNITY_COMMUNITY_DETECTION_ALGORITHM_HPP_
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Conductance.hpp
3
+ *
4
+ * Created on: 26.02.2014
5
+ * Author: Henning
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_CONDUCTANCE_HPP_
9
+ #define NETWORKIT_COMMUNITY_CONDUCTANCE_HPP_
10
+
11
+ #include <networkit/auxiliary/NumericTools.hpp>
12
+ #include <networkit/community/EdgeCut.hpp>
13
+ #include <networkit/community/QualityMeasure.hpp>
14
+
15
+ namespace NetworKit {
16
+
17
+ /**
18
+ * @ingroup community
19
+ * Compute conductance of a 2-partition, i.e. cut size over volume of smaller set (smaller in
20
+ * terms of volume).
21
+ */
22
+ class Conductance final : public QualityMeasure {
23
+ public:
24
+ /**
25
+ * @return Conductance of 2-partition @a zeta in graph @a G.
26
+ * Requires cluster IDs to be either 0 or 1.
27
+ */
28
+ double getQuality(const Partition &zeta, const Graph &G) override;
29
+ };
30
+
31
+ } /* namespace NetworKit */
32
+ #endif // NETWORKIT_COMMUNITY_CONDUCTANCE_HPP_
@@ -0,0 +1,53 @@
1
+ #ifndef NETWORKIT_COMMUNITY_COVER_F1_SIMILARITY_HPP_
2
+ #define NETWORKIT_COMMUNITY_COVER_F1_SIMILARITY_HPP_
3
+
4
+ #include <networkit/community/LocalCoverEvaluation.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * @ingroup community
10
+ * Compare a given cover to a reference cover using the F1 measure.
11
+ * This is a typical similarity measure used to compare the found
12
+ * overlapping community structure to a ground truth community
13
+ * structure. Each cluster is compared to the best-matching reference
14
+ * cluster (in terms of highest F1 score). A value of 1 indicates
15
+ * perfect agreement while a while of 0 indicates complete
16
+ * disagreement. An example where this measure is used is the
17
+ * following paper:
18
+ *
19
+ * Alessandro Epasto, Silvio Lattanzi, and Renato Paes
20
+ * Leme. 2017. Ego-Splitting Framework: from Non-Overlapping to
21
+ * Overlapping Clusters. In Proceedings of the 23rd ACM SIGKDD
22
+ * International Conference on Knowledge Discovery and Data Mining
23
+ * (KDD '17). ACM, New York, NY, USA, 145-154. DOI:
24
+ * https://doi.org/10.1145/3097983.3098054
25
+ */
26
+ class CoverF1Similarity final : public LocalCoverEvaluation {
27
+ public:
28
+ /**
29
+ * Initialize the cover F1 similarity.
30
+ *
31
+ * @param G The graph on which the evaluation is performed.
32
+ * @param C The cover that shall be evaluated.
33
+ * @param reference The reference cover to which @a C shall be compared.
34
+ */
35
+ CoverF1Similarity(const Graph &G, const Cover &C, const Cover &reference);
36
+
37
+ /**
38
+ * Execute the algorithm. The algorithm is not parallel.
39
+ */
40
+ void run() override;
41
+
42
+ /**
43
+ * @return false - smaller is not better, larger values indicate better matching clusters.
44
+ */
45
+ bool isSmallBetter() const override { return false; }
46
+
47
+ private:
48
+ const Cover *reference;
49
+ };
50
+
51
+ } // namespace NetworKit
52
+
53
+ #endif // NETWORKIT_COMMUNITY_COVER_F1_SIMILARITY_HPP_
@@ -0,0 +1,38 @@
1
+ #ifndef NETWORKIT_COMMUNITY_COVER_HUB_DOMINANCE_HPP_
2
+ #define NETWORKIT_COMMUNITY_COVER_HUB_DOMINANCE_HPP_
3
+
4
+ #include <networkit/community/LocalCoverEvaluation.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * A quality measure that measures the dominance of hubs in clusters. The hub dominance of a single
10
+ * cluster is defined as the maximum cluster-internal degree of a node in that cluster divided by
11
+ * the maximum cluster-internal degree, i.e. the number of nodes in the cluster minus one. The
12
+ * value for all clusters is defined as the average of all clusters.
13
+ * This implementation is a natural generalization of this measure for covers.
14
+ * Strictly speaking this is not a quality measure as this is rather dependent on the type of the
15
+ * considered graph, for more information see
16
+ * Lancichinetti A, Kivel M, Saramki J, Fortunato S (2010)
17
+ * Characterizing the Community Structure of Complex Networks
18
+ * PLoS ONE 5(8): e11976. doi: 10.1371/journal.pone.0011976
19
+ * http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0011976
20
+ */
21
+ class CoverHubDominance final : public LocalCoverEvaluation {
22
+ public:
23
+ using LocalCoverEvaluation::LocalCoverEvaluation;
24
+
25
+ /**
26
+ * Execute the algorithm. The algorithm is not parallel.
27
+ */
28
+ void run() override;
29
+
30
+ /**
31
+ * @return false - smaller is not better, larger values indicate better cluster cohesion.
32
+ */
33
+ bool isSmallBetter() const override { return false; }
34
+ };
35
+
36
+ } // namespace NetworKit
37
+
38
+ #endif // NETWORKIT_COMMUNITY_COVER_HUB_DOMINANCE_HPP_
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Coverage.hpp
3
+ *
4
+ * Created on: 02.02.2013
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_COVERAGE_HPP_
9
+ #define NETWORKIT_COMMUNITY_COVERAGE_HPP_
10
+
11
+ #include <networkit/community/QualityMeasure.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup community
17
+ * Coverage is the fraction of intra-cluster edges.
18
+ */
19
+ class Coverage final : public QualityMeasure {
20
+ public:
21
+ double getQuality(const Partition &zeta, const Graph &G) override;
22
+ };
23
+
24
+ } /* namespace NetworKit */
25
+ #endif // NETWORKIT_COMMUNITY_COVERAGE_HPP_
@@ -0,0 +1,62 @@
1
+ #ifndef NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_
2
+ #define NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_
3
+
4
+ #include <networkit/community/CommunityDetectionAlgorithm.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * Cut clustering algorithm as defined in
10
+ * Flake, Gary William; Tarjan, Robert E.; Tsioutsiouliklis, Kostas. Graph Clustering and Minimum
11
+ * Cut Trees. Internet Mathematics 1 (2003), no. 4, 385--408.
12
+ */
13
+ class CutClustering final : public CommunityDetectionAlgorithm {
14
+ public:
15
+ /**
16
+ * Initialize cut clustering algorithm with parameter alpha.
17
+ *
18
+ * A value of 0 gives a clustering with one cluster with all nodes,
19
+ * A value that equals to the largest edge weight gives singleton clusters.
20
+ *
21
+ * @param alpha The parameter for the cut clustering
22
+ */
23
+ CutClustering(const Graph &G, edgeweight alpha);
24
+
25
+ /**
26
+ * Apply algorithm to graph
27
+ *
28
+ * Warning: due to numerical errors the resulting clusters might not be correct.
29
+ * This implementation uses the Edmonds-Karp algorithm for the cut calculation.
30
+ */
31
+ void run() override;
32
+
33
+ /**
34
+ * Get the complete hierarchy with all possible parameter values.
35
+ *
36
+ * Each reported parameter value is the lower bound for the range in which the corresponding
37
+ * clustering is calculated by the cut clustering algorithm.
38
+ *
39
+ * Warning: all reported parameter values are slightly too high in order to avoid wrong
40
+ * clusterings because of numerical inaccuracies. Furthermore the completeness of the hierarchy
41
+ * cannot be guaranteed because of these inaccuracies. This implementation hasn't been optimized
42
+ * for performance.
43
+ *
44
+ * @param G The Graph instance for which the hierarchy shall be calculated
45
+ *
46
+ * @return The hierarchy as map
47
+ */
48
+ static std::map<edgeweight, Partition> getClusterHierarchy(const Graph &G);
49
+
50
+ private:
51
+ /**
52
+ * Helper function for the recursive clustering hierarchy calculation.
53
+ */
54
+ static void clusterHierarchyRecursion(const Graph &G, edgeweight lower, Partition lowerClusters,
55
+ edgeweight upper, Partition upperClusters,
56
+ std::map<edgeweight, Partition> &result);
57
+ edgeweight alpha;
58
+ };
59
+
60
+ } // namespace NetworKit
61
+
62
+ #endif // NETWORKIT_COMMUNITY_CUT_CLUSTERING_HPP_
@@ -0,0 +1,31 @@
1
+ /*
2
+ * DissimilarityMeasure.hpp
3
+ *
4
+ * Created on: 19.01.2013
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
9
+ #define NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
10
+
11
+ #include <networkit/graph/Graph.hpp>
12
+ #include <networkit/structures/Cover.hpp>
13
+ #include <networkit/structures/Partition.hpp>
14
+
15
+ namespace NetworKit {
16
+
17
+ /**
18
+ * @ingroup community
19
+ * Base class for all clustering dissimilarity measures.
20
+ */
21
+ class DissimilarityMeasure {
22
+
23
+ public:
24
+ virtual double getDissimilarity(const Graph &G, const Partition &first,
25
+ const Partition &second) = 0;
26
+
27
+ virtual double getDissimilarity(const Graph &G, const Cover &first, const Cover &second);
28
+ };
29
+
30
+ } /* namespace NetworKit */
31
+ #endif // NETWORKIT_COMMUNITY_DISSIMILARITY_MEASURE_HPP_
@@ -0,0 +1,44 @@
1
+ /*
2
+ * DynamicNMIDistance.hpp
3
+ *
4
+ * Created on: Jun 26, 2013
5
+ * Author: Henning
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_DYNAMIC_NMI_DISTANCE_HPP_
9
+ #define NETWORKIT_COMMUNITY_DYNAMIC_NMI_DISTANCE_HPP_
10
+
11
+ #include <networkit/community/DissimilarityMeasure.hpp>
12
+ #include <networkit/community/NMIDistance.hpp>
13
+
14
+ namespace NetworKit {
15
+
16
+ using Matrix = std::vector<std::vector<count>>;
17
+
18
+ /**
19
+ * @ingroup community
20
+ */
21
+ class DynamicNMIDistance final : public DissimilarityMeasure {
22
+ public:
23
+ /**
24
+ * Computes NMI between two clusterings that belong to two different graphs.
25
+ * @a newGraph has evolved from oldGraph, which is only given implicitly via
26
+ * @a oldClustering. NMI is only applied to nodes that belong to the intersection
27
+ * of oldGraph and @a newGraph. Nodes of oldGraph not existing in @newGraph are
28
+ * marked by the entry none in @a newClustering.
29
+ */
30
+ double getDissimilarity(const Graph &newGraph, const Partition &oldClustering,
31
+ const Partition &newClustering) override;
32
+
33
+ void combineValues(double H_sum, double MI, double &NMI, double &NMID) const;
34
+ void sanityCheck(double &NMI, double &NMID) const;
35
+
36
+ double entropy(const Partition &clustering, count n, std::vector<double> probs);
37
+
38
+ bool isInBoth(node u, const Partition &oldClustering, const Partition &newClustering);
39
+
40
+ Matrix confusionMatrix(const Graph &G, const Partition &zeta, const Partition &eta);
41
+ };
42
+
43
+ } /* namespace NetworKit */
44
+ #endif // NETWORKIT_COMMUNITY_DYNAMIC_NMI_DISTANCE_HPP_
@@ -0,0 +1,24 @@
1
+ /*
2
+ * EdgeCut.hpp
3
+ *
4
+ * Created on: Jun 20, 2013
5
+ * Author: Henning
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_EDGE_CUT_HPP_
9
+ #define NETWORKIT_COMMUNITY_EDGE_CUT_HPP_
10
+
11
+ #include <networkit/community/QualityMeasure.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup community
17
+ */
18
+ class EdgeCut final : public QualityMeasure {
19
+ public:
20
+ double getQuality(const Partition &zeta, const Graph &G) override;
21
+ };
22
+
23
+ } /* namespace NetworKit */
24
+ #endif // NETWORKIT_COMMUNITY_EDGE_CUT_HPP_
@@ -0,0 +1,103 @@
1
+ /*
2
+ * GraphClusteringTools.hpp
3
+ */
4
+
5
+ #ifndef NETWORKIT_COMMUNITY_GRAPH_CLUSTERING_TOOLS_HPP_
6
+ #define NETWORKIT_COMMUNITY_GRAPH_CLUSTERING_TOOLS_HPP_
7
+
8
+ #include <networkit/graph/Graph.hpp>
9
+ #include <networkit/graph/GraphW.hpp>
10
+ #include <networkit/structures/Partition.hpp>
11
+
12
+ namespace NetworKit {
13
+
14
+ /**
15
+ * @ingroup community
16
+ */
17
+ namespace GraphClusteringTools {
18
+
19
+ /**
20
+ * Get the imbalance of clusters in the given partition.
21
+ *
22
+ * @param zeta Input partition
23
+ * @return total imbalance between clusters
24
+ */
25
+ float getImbalance(const Partition &zeta);
26
+
27
+ /**
28
+ * Get the imbalance of clusters in the given partition compared to a given graph.
29
+ *
30
+ * @param zeta Input partition
31
+ * @param graph Input graph
32
+ * @return total imbalance between clusters
33
+ */
34
+ float getImbalance(const Partition &zeta, const Graph &graph);
35
+
36
+ /**
37
+ * Get the communication graph for a given graph and its partition.
38
+ * A communication graph consists of a number of nodes, which equal
39
+ * the number of clusters in the partition. The edges between nodes
40
+ * in the communication graph account for the total edge weight for all
41
+ * edges between two clusters. For unweighted graphs, the edge weight in
42
+ * the communication graph is equal to the number of edges between two
43
+ * clusters.
44
+ *
45
+ * @param graph The input graph
46
+ * @param zeta Partition, which contains information about clusters in the graph
47
+ * @return communication graph
48
+ */
49
+ GraphW communicationGraph(const Graph &graph, Partition &zeta);
50
+
51
+ /**
52
+ * Get weightedDegree of node u for a cluster (represented by a partition) of index cid.
53
+ *
54
+ * @param graph The input graph
55
+ * @param zeta Partition, which contains information about clusters in the graph
56
+ * @param u node
57
+ * @param cid index of cluster
58
+ * @return weighted degree of node u for cluster index cid
59
+ */
60
+ edgeweight weightedDegreeWithCluster(const Graph &graph, const Partition &zeta, node u, index cid);
61
+
62
+ /**
63
+ * Check whether a partition is a proper clustering for a given graph
64
+ *
65
+ * @param graph The input graph
66
+ * @param zeta Partition, which contains information about clusters in the graph
67
+ * @return True if the partition is a proper clustering, False if not
68
+ */
69
+ bool isProperClustering(const Graph &G, const Partition &zeta);
70
+
71
+ /**
72
+ * Check whether a partition is a proper singleton clustering for a given graph
73
+ *
74
+ * @param graph The input graph
75
+ * @param zeta Partition, which contains information about clusters in the graph
76
+ * @return True if the partition is a proper singleton clustering, False if not
77
+ */
78
+ bool isSingletonClustering(const Graph &G, const Partition &zeta);
79
+
80
+ /**
81
+ * Check whether a partition is a proper one clustering for a given graph
82
+ *
83
+ * @param graph The input graph
84
+ * @param zeta Partition, which contains information about clusters in the graph
85
+ * @return True if the partition is a proper one clustering, False if not
86
+ */
87
+ bool isOneClustering(const Graph &G, const Partition &zeta);
88
+
89
+ /**
90
+ * Check whether two paritions are equal for a given graph
91
+ *
92
+ * @param graph The input graph
93
+ * @param zeta Partition, which contains information about clusters in the graph
94
+ * @param eta Partition, which contains information about clusters in the graph
95
+ * @return True if both partitions are the same, False if not
96
+ */
97
+ bool equalClusterings(const Partition &zeta, const Partition &eta, Graph &G);
98
+
99
+ } // namespace GraphClusteringTools
100
+
101
+ } // namespace NetworKit
102
+
103
+ #endif // NETWORKIT_COMMUNITY_GRAPH_CLUSTERING_TOOLS_HPP_
@@ -0,0 +1,28 @@
1
+ /*
2
+ * GraphStructuralRandMeasure.hpp
3
+ *
4
+ * Created on: 16.04.2013
5
+ * Author: cls
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_GRAPH_STRUCTURAL_RAND_MEASURE_HPP_
9
+ #define NETWORKIT_COMMUNITY_GRAPH_STRUCTURAL_RAND_MEASURE_HPP_
10
+
11
+ #include <networkit/community/DissimilarityMeasure.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup community
17
+ * The graph-structural Rand measure assigns a similarity value in [0,1]
18
+ * to two partitions of a graph, by considering connected pairs of nodes.
19
+ */
20
+ class GraphStructuralRandMeasure final : public DissimilarityMeasure {
21
+
22
+ public:
23
+ double getDissimilarity(const Graph &G, const Partition &first,
24
+ const Partition &second) override;
25
+ };
26
+
27
+ } /* namespace NetworKit */
28
+ #endif // NETWORKIT_COMMUNITY_GRAPH_STRUCTURAL_RAND_MEASURE_HPP_
@@ -0,0 +1,46 @@
1
+ #ifndef NETWORKIT_COMMUNITY_HUB_DOMINANCE_HPP_
2
+ #define NETWORKIT_COMMUNITY_HUB_DOMINANCE_HPP_
3
+
4
+ #include <networkit/community/QualityMeasure.hpp>
5
+ #include <networkit/structures/Cover.hpp>
6
+ #include <networkit/structures/Partition.hpp>
7
+
8
+ namespace NetworKit {
9
+
10
+ /**
11
+ * A quality measure that measures the dominance of hubs in clusters. The hub dominance of a single
12
+ * cluster is defined as the maximum cluster-internal degree of a node in that cluster divided by
13
+ * the maximum cluster-internal degree, i.e. the number of nodes in the cluster minus one. The
14
+ * value for all clusters is defined as the average of all clusters.
15
+ * Strictly speaking this is not a quality measure as this is rather dependent on the type of the
16
+ * considered graph, for more information see
17
+ * Lancichinetti A, Kivel M, Saramki J, Fortunato S (2010)
18
+ * Characterizing the Community Structure of Complex Networks
19
+ * PLoS ONE 5(8): e11976. doi: 10.1371/journal.pone.0011976
20
+ * http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0011976
21
+ */
22
+ class HubDominance final : public QualityMeasure {
23
+ public:
24
+ /**
25
+ * Calculates the dominance of hubs in the given Partition @a zeta of the given
26
+ * Graph @a G.
27
+ *
28
+ * @param zeta The partition for which the hub dominance shall be calculated
29
+ * @param G The graph that is partitioned in @a zeta
30
+ * @return The average hub dominance of @a zeta
31
+ */
32
+ double getQuality(const Partition &zeta, const Graph &G) override;
33
+ /**
34
+ * Calculates the dominance of hubs in the given Cover @a zeta of the given
35
+ * Graph @a G.
36
+ *
37
+ * @param zeta The cover for which the hub dominance shall be calculated
38
+ * @param G The graph that is partitioned in @a zeta
39
+ * @return The average hub dominance of @a zeta
40
+ */
41
+ double getQuality(const Cover &zeta, const Graph &G);
42
+ };
43
+
44
+ } // namespace NetworKit
45
+
46
+ #endif // NETWORKIT_COMMUNITY_HUB_DOMINANCE_HPP_
@@ -0,0 +1,44 @@
1
+ #ifndef NETWORKIT_COMMUNITY_INTRAPARTITION_DENSITY_HPP_
2
+ #define NETWORKIT_COMMUNITY_INTRAPARTITION_DENSITY_HPP_
3
+
4
+ #include <networkit/community/LocalPartitionEvaluation.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * The intra-cluster density of a partition is defined as the number of existing edges divided by
10
+ * the number of possible edges. The global value is the sum of all existing intra-cluster edges
11
+ * divided by the sum of all possible intra-cluster edges.
12
+ */
13
+ class IntrapartitionDensity final : public LocalPartitionEvaluation {
14
+ public:
15
+ using LocalPartitionEvaluation::LocalPartitionEvaluation;
16
+
17
+ /**
18
+ * Execute the algorithm. The algorithm is not parallel.
19
+ */
20
+ void run() override;
21
+
22
+ /**
23
+ * Get the global intra-cluster density.
24
+ *
25
+ * @return The global intra-cluster density.
26
+ */
27
+ double getGlobal() const {
28
+ assureFinished();
29
+ return globalValue;
30
+ };
31
+
32
+ /**
33
+ * This value should be high in a good clustering.
34
+ * @return false - high values are better than small values.
35
+ */
36
+ bool isSmallBetter() const override { return false; }
37
+
38
+ private:
39
+ double globalValue;
40
+ };
41
+
42
+ } // namespace NetworKit
43
+
44
+ #endif // NETWORKIT_COMMUNITY_INTRAPARTITION_DENSITY_HPP_