@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,40 @@
1
+ #ifndef NETWORKIT_COMMUNITY_ISOLATED_INTERPARTITION_CONDUCTANCE_HPP_
2
+ #define NETWORKIT_COMMUNITY_ISOLATED_INTERPARTITION_CONDUCTANCE_HPP_
3
+
4
+ #include <networkit/community/LocalPartitionEvaluation.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * Isolated inter-partition conductance is a measure for how well a partition
10
+ * (communtiy/cluster) is separated from the rest of the graph.
11
+ *
12
+ * The conductance of a partition is defined as the weight of the cut divided
13
+ * by the volume (the sum of the degrees) of the nodes in the partition or the
14
+ * nodes in the rest of the graph, whatever is smaller. Small values thus indicate
15
+ * that the cut is small compared to the volume of the smaller of the separated
16
+ * parts. For the whole partitions usually the maximum or the unweighted average
17
+ * is used.
18
+ *
19
+ * See also Experiments on Density-Constrained Graph Clustering,
20
+ * Robert Gorke, Andrea Kappes and Dorothea Wagner, JEA 2015:
21
+ * http://dx.doi.org/10.1145/2638551
22
+ */
23
+ class IsolatedInterpartitionConductance final : public LocalPartitionEvaluation {
24
+ public:
25
+ using LocalPartitionEvaluation::LocalPartitionEvaluation;
26
+
27
+ /**
28
+ * Execute the algorithm. The algorithm is not parallel.
29
+ */
30
+ void run() override;
31
+
32
+ /**
33
+ * @return true - smaller values are better than larger values.
34
+ */
35
+ bool isSmallBetter() const override { return true; };
36
+ };
37
+
38
+ } // namespace NetworKit
39
+
40
+ #endif // NETWORKIT_COMMUNITY_ISOLATED_INTERPARTITION_CONDUCTANCE_HPP_
@@ -0,0 +1,40 @@
1
+ #ifndef NETWORKIT_COMMUNITY_ISOLATED_INTERPARTITION_EXPANSION_HPP_
2
+ #define NETWORKIT_COMMUNITY_ISOLATED_INTERPARTITION_EXPANSION_HPP_
3
+
4
+ #include <networkit/community/LocalPartitionEvaluation.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * Isolated inter-partition expansion is a measure for how well a partition
10
+ * (communtiy/cluster) is separated from the rest of the graph.
11
+ *
12
+ * The expansion of a partition is defined as the weight of the cut divided
13
+ * by number of nodes in the partition or in the rest of the graph, whatever
14
+ * is smaller. Small values thus indicate that the cut is small compared to
15
+ * the size of the smaller of the separated parts. For the whole partitions
16
+ * usually the maximum or the unweighted average is used. Note that expansion
17
+ * values can be larger than 1.
18
+ *
19
+ * See also Experiments on Density-Constrained Graph Clustering,
20
+ * Robert Grke, Andrea Kappes and Dorothea Wagner, JEA 2015:
21
+ * http://dx.doi.org/10.1145/2638551
22
+ */
23
+ class IsolatedInterpartitionExpansion final : public LocalPartitionEvaluation {
24
+ public:
25
+ using LocalPartitionEvaluation::LocalPartitionEvaluation;
26
+
27
+ /**
28
+ * Execute the algorithm. The algorithm is not parallel.
29
+ */
30
+ void run() override;
31
+
32
+ /**
33
+ * @return true - smaller values are better than larger values.
34
+ */
35
+ bool isSmallBetter() const override { return true; };
36
+ };
37
+
38
+ } // namespace NetworKit
39
+
40
+ #endif // NETWORKIT_COMMUNITY_ISOLATED_INTERPARTITION_EXPANSION_HPP_
@@ -0,0 +1,25 @@
1
+ /*
2
+ * JaccardMeasure.hpp
3
+ *
4
+ * Created on: 19.01.2013
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_JACCARD_MEASURE_HPP_
9
+ #define NETWORKIT_COMMUNITY_JACCARD_MEASURE_HPP_
10
+
11
+ #include <networkit/community/DissimilarityMeasure.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup community
17
+ */
18
+ class JaccardMeasure final : public DissimilarityMeasure {
19
+
20
+ public:
21
+ double getDissimilarity(const Graph &G, const Partition &zeta, const Partition &eta) override;
22
+ };
23
+
24
+ } /* namespace NetworKit */
25
+ #endif // NETWORKIT_COMMUNITY_JACCARD_MEASURE_HPP_
@@ -0,0 +1,49 @@
1
+ /*
2
+ * LFM.hpp
3
+ *
4
+ * Created on 10.12.2020
5
+ * Author: John Gelhausen
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_LFM_HPP_
9
+ #define NETWORKIT_COMMUNITY_LFM_HPP_
10
+
11
+ #include <networkit/community/OverlappingCommunityDetectionAlgorithm.hpp>
12
+ #include <networkit/scd/SelectiveCommunityDetector.hpp>
13
+
14
+ namespace NetworKit {
15
+ /**
16
+ * @ingroup community
17
+ * This is the local community expansion algorithm as introduced in:
18
+ *
19
+ * Lancichinetti, A., Fortunato, S., & Kertész, J. (2009).
20
+ * Detecting the overlapping and hierarchical community structure in complex networks.
21
+ * New Journal of Physics, 11(3), 033015.
22
+ * https://doi.org/10.1088/1367-2630/11/3/033015
23
+ *
24
+ * The LFM algorithm detects overlapping communities by repeatedly
25
+ * executing a given SelectiveCommunityDetector algorithm
26
+ * for different random seed nodes which have not yet been assigned to any community.
27
+ * While this implementation allows the use of any local community detection algorithm, the behavior
28
+ * of the original algorithm can be achieved using the LFMLocal local community detection algorithm.
29
+ */
30
+ class LFM final : public OverlappingCommunityDetectionAlgorithm {
31
+ public:
32
+ /**
33
+ * @param G Input graph
34
+ * @param scd The algorithm that is used to expand the random seed nodes to communities
35
+ *
36
+ */
37
+ LFM(const Graph &G, SelectiveCommunityDetector &scd);
38
+
39
+ /**
40
+ * Detect communities
41
+ */
42
+ void run() override;
43
+
44
+ protected:
45
+ SelectiveCommunityDetector *scd;
46
+ };
47
+ } /* namespace NetworKit */
48
+
49
+ #endif // NETWORKIT_COMMUNITY_LFM_HPP_
@@ -0,0 +1,48 @@
1
+ /*
2
+ * LPDegreeOrdered.hpp
3
+ *
4
+ * Created on: 24.09.2013
5
+ * Author: cls
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_LP_DEGREE_ORDERED_HPP_
9
+ #define NETWORKIT_COMMUNITY_LP_DEGREE_ORDERED_HPP_
10
+
11
+ #include <networkit/community/CommunityDetectionAlgorithm.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ using label = index; // a label is the same as a cluster id
16
+
17
+ /**
18
+ * @ingroup community
19
+ * Label propagation-based community detection algorithm which
20
+ * processes nodes in increasing order of node degree.
21
+ */
22
+ class LPDegreeOrdered final : public CommunityDetectionAlgorithm {
23
+ private:
24
+ count nIterations = 0; //!< number of iterations in last run
25
+
26
+ public:
27
+ /**
28
+ * Constructor to the degree ordered label propagation community detection algorithm.
29
+ *
30
+ * @param[in] G input graph
31
+ */
32
+ LPDegreeOrdered(const Graph &G);
33
+
34
+ /**
35
+ * Detect communities.
36
+ */
37
+ void run() override;
38
+
39
+ /**
40
+ * Get number of iterations in last run.
41
+ *
42
+ * @return Number of iterations.
43
+ */
44
+ count numberOfIterations();
45
+ };
46
+
47
+ } /* namespace NetworKit */
48
+ #endif // NETWORKIT_COMMUNITY_LP_DEGREE_ORDERED_HPP_
@@ -0,0 +1,100 @@
1
+ #ifndef NETWORKIT_COMMUNITY_LOCAL_COMMUNITY_EVALUATION_HPP_
2
+ #define NETWORKIT_COMMUNITY_LOCAL_COMMUNITY_EVALUATION_HPP_
3
+
4
+ #include <vector>
5
+
6
+ #include <networkit/Globals.hpp>
7
+ #include <networkit/base/Algorithm.hpp>
8
+
9
+ namespace NetworKit {
10
+
11
+ /**
12
+ * Virtual base class of all evaluation methods for a single clustering which is based on the
13
+ * evaluation of single clusters. This is the base class both for Partitions as well as for Covers.
14
+ */
15
+ class LocalCommunityEvaluation : public Algorithm {
16
+ public:
17
+ /**
18
+ * Default destructor for the virtual base class
19
+ */
20
+ ~LocalCommunityEvaluation() override = default;
21
+
22
+ /**
23
+ * Get the average value weighted by cluster size.
24
+ *
25
+ * @return The weighted average value.
26
+ */
27
+ double getWeightedAverage() const {
28
+ assureFinished();
29
+ return weightedAverage;
30
+ };
31
+
32
+ /**
33
+ * Get the (unweighted) average value of all clusters.
34
+ *
35
+ * @return The unweighted average value.
36
+ */
37
+ double getUnweightedAverage() const {
38
+ assureFinished();
39
+ return unweightedAverage;
40
+ };
41
+
42
+ /**
43
+ * Get the maximum value of all clusters.
44
+ *
45
+ * @return The maximum value.
46
+ */
47
+ double getMaximumValue() const {
48
+ assureFinished();
49
+ return maximumValue;
50
+ };
51
+
52
+ /**
53
+ * Get the minimum value of all clusters.
54
+ *
55
+ * @return The minimum value.
56
+ */
57
+ double getMinimumValue() const {
58
+ assureFinished();
59
+ return minimumValue;
60
+ };
61
+
62
+ /**
63
+ * Get the value of the specified cluster.
64
+ *
65
+ * @param i The cluster to get the value for.
66
+ * @return The value of cluster @a i.
67
+ */
68
+ double getValue(index i) const {
69
+ assureFinished();
70
+ return values[i];
71
+ };
72
+
73
+ /**
74
+ * Get the values of all clusters.
75
+ *
76
+ * @return The values of all clusters.
77
+ */
78
+ std::vector<double> getValues() const {
79
+ assureFinished();
80
+ return values;
81
+ };
82
+
83
+ /**
84
+ * If small values are better (otherwise large values are better).
85
+ *
86
+ * @return If small values are better.
87
+ */
88
+ virtual bool isSmallBetter() const = 0;
89
+
90
+ protected:
91
+ double weightedAverage;
92
+ double unweightedAverage;
93
+ double maximumValue;
94
+ double minimumValue;
95
+ std::vector<double> values;
96
+ };
97
+
98
+ } // namespace NetworKit
99
+
100
+ #endif // NETWORKIT_COMMUNITY_LOCAL_COMMUNITY_EVALUATION_HPP_
@@ -0,0 +1,31 @@
1
+ #ifndef NETWORKIT_COMMUNITY_LOCAL_COVER_EVALUATION_HPP_
2
+ #define NETWORKIT_COMMUNITY_LOCAL_COVER_EVALUATION_HPP_
3
+
4
+ #include <networkit/community/LocalCommunityEvaluation.hpp>
5
+ #include <networkit/graph/Graph.hpp>
6
+ #include <networkit/structures/Cover.hpp>
7
+
8
+ namespace NetworKit {
9
+
10
+ /**
11
+ * Virtual base class of all evaluation methods for a single Cover which is based on the evaluation
12
+ * of single clusters. This is the base class for Covers.
13
+ */
14
+ class LocalCoverEvaluation : public LocalCommunityEvaluation {
15
+ public:
16
+ /**
17
+ * Initialize the cover evaluation method.
18
+ *
19
+ * @param G The graph on which the evaluation shall be performed
20
+ * @param C The cover that shall be evaluated.
21
+ */
22
+ LocalCoverEvaluation(const Graph &G, const Cover &C);
23
+
24
+ protected:
25
+ const Graph *G;
26
+ const Cover *C;
27
+ };
28
+
29
+ } // namespace NetworKit
30
+
31
+ #endif // NETWORKIT_COMMUNITY_LOCAL_COVER_EVALUATION_HPP_
@@ -0,0 +1,31 @@
1
+ #ifndef NETWORKIT_COMMUNITY_LOCAL_PARTITION_EVALUATION_HPP_
2
+ #define NETWORKIT_COMMUNITY_LOCAL_PARTITION_EVALUATION_HPP_
3
+
4
+ #include <networkit/community/LocalCommunityEvaluation.hpp>
5
+ #include <networkit/graph/Graph.hpp>
6
+ #include <networkit/structures/Partition.hpp>
7
+
8
+ namespace NetworKit {
9
+
10
+ /**
11
+ * Virtual base class of all evaluation methods for a single Partition which is based on the
12
+ * evaluation of single clusters. This is the base class for Partitions.
13
+ */
14
+ class LocalPartitionEvaluation : public LocalCommunityEvaluation {
15
+ public:
16
+ /**
17
+ * Initialize the partition evaluation method.
18
+ *
19
+ * @param G The graph on which the evaluation shall be performed
20
+ * @param P The partition that shall be evaluated.
21
+ */
22
+ LocalPartitionEvaluation(const Graph &G, const Partition &P);
23
+
24
+ protected:
25
+ const Graph *G;
26
+ const Partition *P;
27
+ };
28
+
29
+ } // namespace NetworKit
30
+
31
+ #endif // NETWORKIT_COMMUNITY_LOCAL_PARTITION_EVALUATION_HPP_
@@ -0,0 +1,135 @@
1
+ /*
2
+ * LouvainMapEquation.hpp
3
+ *
4
+ * Created on: 2019-01-28
5
+ * Author: Armin Wiebigke
6
+ * Michael Hamann
7
+ * Lars Gottesbüren
8
+ */
9
+
10
+ #ifndef NETWORKIT_COMMUNITY_LOUVAIN_MAP_EQUATION_HPP_
11
+ #define NETWORKIT_COMMUNITY_LOUVAIN_MAP_EQUATION_HPP_
12
+
13
+ #include <networkit/auxiliary/SparseVector.hpp>
14
+ #include <networkit/auxiliary/SpinLock.hpp>
15
+ #include <networkit/community/CommunityDetectionAlgorithm.hpp>
16
+
17
+ namespace NetworKit {
18
+
19
+ class LouvainMapEquation : public CommunityDetectionAlgorithm {
20
+ public:
21
+ enum class ParallelizationType : uint8_t {
22
+ NONE,
23
+ RELAX_MAP,
24
+ SYNCHRONOUS,
25
+ None = NONE, // this + following added for backwards compatibility
26
+ RelaxMap = RELAX_MAP,
27
+ Synchronous = SYNCHRONOUS
28
+ };
29
+
30
+ public:
31
+ /**
32
+ * @param[in] G input graph
33
+ * @param[in] hierarchical use recursive coarsening
34
+ * @param[in] maxIterations maximum number of iterations for move phase
35
+ * @param[in] parallelization strategy (default synchronous):
36
+ * none
37
+ * relaxmap -> one lock per community to update cuts
38
+ * synchronous -> work on stale cuts and volumes, update in second step
39
+ *
40
+ */
41
+ explicit LouvainMapEquation(const Graph &graph, bool hierarchical = false,
42
+ count maxIterations = 32,
43
+ std::string_view parallelizationStrategy = "relaxmap");
44
+ /**
45
+ * @param[in] G input graph
46
+ * @param[in] hierarchical use recursive coarsening
47
+ * @param[in] maxIterations maximum number of iterations for move phase
48
+ * @param[in] parallelization strategy (default synchronous):
49
+ * none
50
+ * relaxmap -> one lock per community to update cuts
51
+ * synchronous -> work on stale cuts and volumes, update in second step
52
+ *
53
+ */
54
+ explicit LouvainMapEquation(const Graph &graph, bool hierarchical, count maxIterations,
55
+ ParallelizationType parallelizationType);
56
+
57
+ void run() override;
58
+
59
+ private:
60
+ struct Move {
61
+ node movedNode = none;
62
+ double volume = 0.0;
63
+ index originCluster = none, targetCluster = none;
64
+ double cutUpdateToOriginCluster = 0.0, cutUpdateToTargetCluster = 0.0;
65
+
66
+ Move(node n, double vol, index cc, index tc, double cuptoc, double cupttc)
67
+ : movedNode(n), volume(vol), originCluster(cc), targetCluster(tc),
68
+ cutUpdateToOriginCluster(cuptoc), cutUpdateToTargetCluster(cupttc) {}
69
+ };
70
+
71
+ static_assert(std::is_trivially_destructible<Move>::value,
72
+ "LouvainMapEquation::Move struct is not trivially destructible");
73
+
74
+ ParallelizationType parallelizationType;
75
+ bool parallel;
76
+
77
+ bool hierarchical;
78
+ count maxIterations;
79
+
80
+ std::vector<double> clusterCut, clusterVolume;
81
+ double totalCut, totalVolume;
82
+
83
+ // for RelaxMap
84
+ std::vector<Aux::Spinlock> locks;
85
+
86
+ // for SLM
87
+ Partition nextPartition;
88
+ std::vector<SparseVector<double>> ets_neighborClusterWeights;
89
+
90
+ count localMoving(std::vector<node> &nodes, count iteration);
91
+
92
+ count synchronousLocalMoving(std::vector<node> &nodes, count iteration);
93
+
94
+ bool tryLocalMove(node u, SparseVector<double> &neighborClusterWeights,
95
+ std::vector<Move> &moves, bool synchronous);
96
+
97
+ bool performMove(node u, double degree, double loopWeight, node currentCluster,
98
+ node targetCluster, double weightToTarget, double weightToCurrent);
99
+
100
+ void aggregateAndApplyCutAndVolumeUpdates(std::vector<Move> &moves);
101
+
102
+ void calculateInitialClusterCutAndVolume();
103
+
104
+ void runHierarchical();
105
+
106
+ /**
107
+ * Calculate the change in the map equation if the node is moved from its current cluster to the
108
+ * target cluster. To simplify the calculation, we remove terms that are constant for all target
109
+ * clusters. As a result, "moving" the node to its current cluster gives a value != 0, although
110
+ * the complete map equation would not change.
111
+ */
112
+ double fitnessChange(node, double degree, double loopWeight, node currentCluster,
113
+ node targetCluster, double weightToTarget, double weightToCurrent,
114
+ double totalCutCurrently);
115
+
116
+ count idivCeil(count a, count b) const { return (a + b - 1) / b; }
117
+
118
+ std::pair<count, count> chunkBounds(count i, count n, count chunkSize) const {
119
+ return std::make_pair(i * chunkSize, std::min(n, (i + 1) * chunkSize));
120
+ }
121
+
122
+ #ifndef NDEBUG
123
+ long double sumPLogPwAlpha = 0;
124
+ long double sumPLogPClusterCut = 0;
125
+ long double sumPLogPClusterCutPlusVol = 0;
126
+ double plogpRel(double w);
127
+ void updatePLogPSums();
128
+ long double mapEquation();
129
+ void checkUpdatedCutsAndVolumesAgainstRecomputation();
130
+ #endif // NDEBUG
131
+ };
132
+
133
+ } // namespace NetworKit
134
+
135
+ #endif // NETWORKIT_COMMUNITY_LOUVAIN_MAP_EQUATION_HPP_
@@ -0,0 +1,54 @@
1
+ /*
2
+ * Modularity.hpp
3
+ *
4
+ * Created on: 10.12.2012
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_MODULARITY_HPP_
9
+ #define NETWORKIT_COMMUNITY_MODULARITY_HPP_
10
+
11
+ #include <networkit/community/QualityMeasure.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup community
17
+ * Modularity is a quality index for community detection. It assigns a quality value in [-0.5, 1.0]
18
+ * to a partition of a graph which is higher for more modular networks and partitions which better
19
+ * capture the modular structure.
20
+ *
21
+ * Modularity is defined as:
22
+ *
23
+ * $$mod(\\zeta) := \\frac{\\sum_{C \\in \\zeta} \\sum_{ e \\in E(C) } \\omega(e)}{\\sum_{e \\in E}
24
+ * \\omega(e)}
25
+ * \\frac{ \\sum_{C \\in \\zeta}( \\sum_{v \\in C} \\omega(v) )^2 }{4( \\sum_{e \\in E} \\omega(e)
26
+ * )^2 }$$
27
+ */
28
+ class Modularity final : public QualityMeasure {
29
+
30
+ private:
31
+ double gTotalEdgeWeight;
32
+
33
+ public:
34
+ /** Default constructor */
35
+ Modularity();
36
+
37
+ /**
38
+ * Returns the Modularity of the given clustering with respect to the graph @a G.
39
+ *
40
+ * @param zeta The clustering.
41
+ * @param G The graph.
42
+ * @return The modularity.
43
+ */
44
+ double getQuality(const Partition &zeta, const Graph &G) override;
45
+
46
+ /**
47
+ * @param totalEdgeWeight Sum of all edge weights in @a G. If specified, it does not
48
+ * have to be computed.
49
+ */
50
+ void setTotalEdgeWeight(double totalEdgeWeight);
51
+ };
52
+
53
+ } /* namespace NetworKit */
54
+ #endif // NETWORKIT_COMMUNITY_MODULARITY_HPP_
@@ -0,0 +1,28 @@
1
+ /*
2
+ * NMIDistance.hpp
3
+ *
4
+ * Created on: 30.04.2013
5
+ * Author: cls
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_NMI_DISTANCE_HPP_
9
+ #define NETWORKIT_COMMUNITY_NMI_DISTANCE_HPP_
10
+
11
+ #include <networkit/community/DissimilarityMeasure.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup community
17
+ * NMIDistance quantifies the dissimilarity between two clusterings using
18
+ * Normalized Mutual Information.
19
+ *
20
+ */
21
+ class NMIDistance final : public DissimilarityMeasure {
22
+
23
+ public:
24
+ double getDissimilarity(const Graph &G, const Partition &zeta, const Partition &eta) override;
25
+ };
26
+
27
+ } /* namespace NetworKit */
28
+ #endif // NETWORKIT_COMMUNITY_NMI_DISTANCE_HPP_
@@ -0,0 +1,27 @@
1
+ /*
2
+ * NodeStructuralRandMeasure.hpp
3
+ *
4
+ * Created on: 19.01.2013
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_NODE_STRUCTURAL_RAND_MEASURE_HPP_
9
+ #define NETWORKIT_COMMUNITY_NODE_STRUCTURAL_RAND_MEASURE_HPP_
10
+
11
+ #include <networkit/community/DissimilarityMeasure.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup community
17
+ * The node-structural Rand measure assigns a similarity value in [0,1]
18
+ * to two partitions of a graph, by considering all pairs of nodes.
19
+ */
20
+ class NodeStructuralRandMeasure final : public DissimilarityMeasure {
21
+
22
+ public:
23
+ double getDissimilarity(const Graph &G, const Partition &zeta, const Partition &eta) override;
24
+ };
25
+
26
+ } /* namespace NetworKit */
27
+ #endif // NETWORKIT_COMMUNITY_NODE_STRUCTURAL_RAND_MEASURE_HPP_
@@ -0,0 +1,51 @@
1
+ /*
2
+ * OverlappingCommunityDetectionAlgorithm.hpp
3
+ *
4
+ * Created on: 14.12.2020
5
+ * Author: John Gelhausen
6
+ */
7
+
8
+ #ifndef NETWORKIT_COMMUNITY_OVERLAPPING_COMMUNITY_DETECTION_ALGORITHM_HPP_
9
+ #define NETWORKIT_COMMUNITY_OVERLAPPING_COMMUNITY_DETECTION_ALGORITHM_HPP_
10
+
11
+ #include <networkit/base/Algorithm.hpp>
12
+ #include <networkit/graph/Graph.hpp>
13
+ #include <networkit/structures/Cover.hpp>
14
+
15
+ namespace NetworKit {
16
+
17
+ /**
18
+ * @ingroup community
19
+ * Abstract base class for overlapping community detection/graph clustering algorithms.
20
+ */
21
+ class OverlappingCommunityDetectionAlgorithm : public Algorithm {
22
+ public:
23
+ /**
24
+ * An overlapping community detection algorithm operates on a graph, so the constructor expects
25
+ * a graph.
26
+ *
27
+ * @param[in] G input graph
28
+ */
29
+ OverlappingCommunityDetectionAlgorithm(const Graph &G);
30
+
31
+ /** Default destructor */
32
+ ~OverlappingCommunityDetectionAlgorithm() override = default;
33
+
34
+ /**
35
+ * Apply algorithm to graph
36
+ */
37
+ void run() override = 0;
38
+
39
+ /**
40
+ * Returns the result of the run method or throws an error, if the algorithm hasn't run yet.
41
+ * @return cover of the node set
42
+ */
43
+ const Cover &getCover() const;
44
+
45
+ protected:
46
+ const Graph *G;
47
+ Cover result;
48
+ };
49
+
50
+ } /* namespace NetworKit */
51
+ #endif // NETWORKIT_COMMUNITY_OVERLAPPING_COMMUNITY_DETECTION_ALGORITHM_HPP_