@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,87 @@
1
+ /*
2
+ * DynSSSP.hpp
3
+ *
4
+ * Created on: 17.07.2014
5
+ * Author: cls, ebergamini
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_DYN_SSSP_HPP_
9
+ #define NETWORKIT_DISTANCE_DYN_SSSP_HPP_
10
+
11
+ #include <set>
12
+
13
+ #include <networkit/base/DynAlgorithm.hpp>
14
+ #include <networkit/distance/SSSP.hpp>
15
+ #include <networkit/dynamics/GraphEvent.hpp>
16
+ #include <networkit/graph/Graph.hpp>
17
+
18
+ namespace NetworKit {
19
+
20
+ /**
21
+ * @ingroup distance
22
+ * Interface for dynamic single-source shortest path algorithms.
23
+ */
24
+ class DynSSSP : public SSSP, public DynAlgorithm {
25
+
26
+ friend class DynApproxBetweenness;
27
+
28
+ public:
29
+ /**
30
+ * The algorithm computes a dynamic SSSP starting from the specified
31
+ * source vertex.
32
+ *
33
+ * @param graph input graph.
34
+ * @param source source vertex.
35
+ * @param storePredecessors keep track of the lists of predecessors?
36
+ */
37
+ DynSSSP(const Graph &G, node source, bool storePredecessors = true, node target = none);
38
+
39
+ ~DynSSSP() override = default;
40
+
41
+ /**
42
+ * Returns true or false depending on whether the node previoulsy specified
43
+ * with setTargetNode has been modified by the udate or not.
44
+ *
45
+ * @param batch The batch of edge insertions.
46
+ */
47
+ bool modified();
48
+ /**
49
+ * Set a target node to be `observed` during the update. If a node t is set as
50
+ * target before the update, the function modified() will return true or false
51
+ * depending on whether node t has been modified by the update.
52
+ *
53
+ * @param t Node to be `observed`.
54
+ */
55
+ void setTargetNode(node t = 0);
56
+
57
+ /**
58
+ * Returns the predecessor nodes of @a t on all shortest paths from source to @a t.
59
+ * @param t Target node.
60
+ * @return The predecessors of @a t on all shortest paths from source to @a t.
61
+ */
62
+ const std::vector<node> &getPredecessors(node t) const;
63
+
64
+ protected:
65
+ bool storePreds = true;
66
+ bool mod = false;
67
+ node target;
68
+ };
69
+
70
+ inline bool DynSSSP::modified() {
71
+ return mod;
72
+ }
73
+
74
+ inline void DynSSSP::setTargetNode(const node t) {
75
+ target = t;
76
+ }
77
+
78
+ inline const std::vector<node> &DynSSSP::getPredecessors(node t) const {
79
+ if (!storePreds) {
80
+ throw std::runtime_error("predecessors have not been stored");
81
+ }
82
+ return previous[t];
83
+ }
84
+
85
+ } /* namespace NetworKit */
86
+
87
+ #endif // NETWORKIT_DISTANCE_DYN_SSSP_HPP_
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Eccentricity.hpp
3
+ *
4
+ * Created on: 19.02.2014
5
+ * Author: cls
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_ECCENTRICITY_HPP_
9
+ #define NETWORKIT_DISTANCE_ECCENTRICITY_HPP_
10
+
11
+ #include <networkit/graph/Graph.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup distance
17
+ * The eccentricity of a node `u` is defined as the distance to the farthest
18
+ * node from `u`. In other words, it is the longest shortest-path starting from
19
+ * node `u`.
20
+ */
21
+ class Eccentricity {
22
+
23
+ public:
24
+ /**
25
+ * @return The farthest node v, and the length of the shortest path to v.
26
+ */
27
+ static std::pair<node, count> getValue(const Graph &G, node u);
28
+ };
29
+
30
+ } /* namespace NetworKit */
31
+
32
+ #endif // NETWORKIT_DISTANCE_ECCENTRICITY_HPP_
@@ -0,0 +1,47 @@
1
+ /*
2
+ * EffectiveDiameter.hpp
3
+ *
4
+ * Created on: 16.06.2014
5
+ * Author: Marc Nemes
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_EFFECTIVE_DIAMETER_HPP_
9
+ #define NETWORKIT_DISTANCE_EFFECTIVE_DIAMETER_HPP_
10
+
11
+ #include <networkit/base/Algorithm.hpp>
12
+ #include <networkit/graph/Graph.hpp>
13
+
14
+ namespace NetworKit {
15
+
16
+ /**
17
+ * @ingroup distance
18
+ */
19
+ class EffectiveDiameter final : public Algorithm {
20
+
21
+ public:
22
+ /**
23
+ * Computes the effective diameter exactly.
24
+ * The effective diameter is defined as the number of edges on average to reach \p ratio of all
25
+ * other nodes.
26
+ * @param G the given graph
27
+ * @param ratio the ratio of nodes that should be connected (0,1], default = 0.9
28
+ */
29
+ EffectiveDiameter(const Graph &G, double ratio = 0.9);
30
+
31
+ void run() override;
32
+
33
+ /**
34
+ * Returns the exact effective diameter of the graph.
35
+ * @return the exact effective diameter of the graph
36
+ */
37
+ double getEffectiveDiameter() const;
38
+
39
+ private:
40
+ const Graph *G;
41
+ const double ratio;
42
+ double effectiveDiameter;
43
+ };
44
+
45
+ } /* namespace NetworKit */
46
+
47
+ #endif // NETWORKIT_DISTANCE_EFFECTIVE_DIAMETER_HPP_
@@ -0,0 +1,57 @@
1
+ /*
2
+ * EffectiveDiameterApproximation.hpp
3
+ *
4
+ * Created on: 29.03.16
5
+ * Author: Maximilian Vogel
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_EFFECTIVE_DIAMETER_APPROXIMATION_HPP_
9
+ #define NETWORKIT_DISTANCE_EFFECTIVE_DIAMETER_APPROXIMATION_HPP_
10
+
11
+ #include <networkit/base/Algorithm.hpp>
12
+ #include <networkit/graph/Graph.hpp>
13
+
14
+ namespace NetworKit {
15
+
16
+ /**
17
+ * @ingroup distance
18
+ */
19
+ class EffectiveDiameterApproximation final : public Algorithm {
20
+
21
+ public:
22
+ /**
23
+ * Approximates the effective diameter of a given graph.
24
+ * The effective diameter is defined as the number of edges on average to reach \p ratio of all
25
+ * other nodes. Implementation after the ANF algorithm presented in the paper "A Fast and
26
+ * Scalable Tool for Data Mining in Massive Graphs"[1]
27
+ *
28
+ * [1] by Palmer, Gibbons and Faloutsos which can be found here:
29
+ * http://www.cs.cmu.edu/~christos/PUBLICATIONS/kdd02-anf.pdf
30
+ *
31
+ * @param G the given graph
32
+ * @param ratio the ratio of nodes that should be connected (0,1]; default = 0.9
33
+ * @param k the number of parallel approximations to get a more robust result; default = 64
34
+ * @param r the amount of bits that are added to the length of the bitmask to improve the
35
+ * accuracy; default = 7
36
+ */
37
+ EffectiveDiameterApproximation(const Graph &G, double ratio = 0.9, count k = 64, count r = 7);
38
+
39
+ void run() override;
40
+
41
+ /**
42
+ * Returns the exact effective diameter of the graph.
43
+ * @return the exact effective diameter of the graph
44
+ */
45
+ double getEffectiveDiameter() const;
46
+
47
+ private:
48
+ const Graph *G;
49
+ const double ratio;
50
+ const count k;
51
+ const count r;
52
+ double effectiveDiameter;
53
+ };
54
+
55
+ } /* namespace NetworKit */
56
+
57
+ #endif // NETWORKIT_DISTANCE_EFFECTIVE_DIAMETER_APPROXIMATION_HPP_
@@ -0,0 +1,93 @@
1
+ /* FloydWarshall.hpp
2
+ *
3
+ * Created on: 15.02.2025
4
+ * Authors: Andreas Scharf (andreas.b.scharf@gmail.com)
5
+ *
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_FLOYD_WARSHALL_HPP_
9
+ #define NETWORKIT_DISTANCE_FLOYD_WARSHALL_HPP_
10
+
11
+ #include <networkit/base/Algorithm.hpp>
12
+ #include <networkit/graph/Graph.hpp>
13
+
14
+ namespace NetworKit {
15
+
16
+ /**
17
+ * @class FloydWarshall
18
+ * @brief Computes all-pairs shortest paths using the Floyd-Warshall algorithm.
19
+ *
20
+ * This algorithm finds the shortest paths between all node pairs in a weighted graph,
21
+ * supporting both directed and undirected graphs. It correctly handles negative edge
22
+ * weights and detects negative cycles. If multiple shortest paths exist, it returns
23
+ * one with the fewest nodes.
24
+ *
25
+ * The algorithm has a time complexity of O(n³), making it suitable for small to
26
+ * medium-sized graphs.
27
+ */
28
+ class FloydWarshall : public Algorithm {
29
+ public:
30
+ /**
31
+ * @brief Initializes the Floyd-Warshall algorithm for a given graph.
32
+ *
33
+ * The input graph must be weighted and may be either directed or undirected.
34
+ *
35
+ * @param G The graph on which shortest paths will be computed.
36
+ */
37
+ FloydWarshall(const Graph &G);
38
+ /**
39
+ * @brief Runs the Floyd-Warshall algorithm.
40
+ *
41
+ * Computes shortest path distances and reconstructs paths between all node pairs.
42
+ * Also identifies nodes involved in negative cycles.
43
+ */
44
+ void run() override;
45
+
46
+ /**
47
+ * @brief Returns the shortest distance between two nodes.
48
+ *
49
+ * If no path exists, returns `std::numeric_limits<edgeweight>::max()`.
50
+ *
51
+ * @param source The starting node.
52
+ * @param target The destination node.
53
+ * @return The shortest path distance from `source` to `target`.
54
+ */
55
+ edgeweight getDistance(node source, node target) const;
56
+ /**
57
+ * @brief Checks whether a node is part of a negative cycle.
58
+ *
59
+ * A node is considered part of a negative cycle if its shortest path distance
60
+ * to itself is negative.
61
+ *
62
+ * @param u The node to check.
63
+ * @return `true` if the node is in a negative cycle, otherwise `false`.
64
+ */
65
+ bool isNodeInNegativeCycle(node u) const;
66
+
67
+ /**
68
+ * @brief Retrieves the shortest path between two nodes.
69
+ *
70
+ * Returns a sequence of nodes representing the shortest path from `source` to
71
+ * `target`. If no path exists, returns an empty vector.
72
+ *
73
+ * If multiple shortest paths exist with the same total distance, the function
74
+ * returns the one with the fewest nodes.
75
+ *
76
+ * @param source The starting node.
77
+ * @param target The destination node.
78
+ * @return A vector of nodes forming the shortest path.
79
+ */
80
+ std::vector<node> getNodesOnShortestPath(node source, node target) const;
81
+
82
+ private:
83
+ const Graph *graph;
84
+ static constexpr edgeweight infiniteDistance = std::numeric_limits<edgeweight>::max();
85
+ std::vector<std::vector<edgeweight>> distances;
86
+ std::vector<bool> nodesInNegativeCycle;
87
+ std::vector<std::vector<node>> pathMatrix;
88
+ std::vector<std::vector<count>> hops;
89
+ void tagNegativeCycles();
90
+ };
91
+ } // namespace NetworKit
92
+
93
+ #endif // NETWORKIT_DISTANCE_FLOYD_WARSHALL_HPP_
@@ -0,0 +1,49 @@
1
+ /*
2
+ * GraphDistance.hpp
3
+ *
4
+ * Created on: Jul 23, 2013
5
+ * Author: Henning
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_GRAPH_DISTANCE_HPP_
9
+ #define NETWORKIT_DISTANCE_GRAPH_DISTANCE_HPP_
10
+
11
+ #include <networkit/distance/BFS.hpp>
12
+ #include <networkit/distance/Dijkstra.hpp>
13
+ #include <networkit/graph/Graph.hpp>
14
+
15
+ namespace NetworKit {
16
+
17
+ // TODO: inherit from NodeDistance
18
+ /**
19
+ * @ingroup distance
20
+ */
21
+ class GraphDistance final {
22
+ public:
23
+ /** Default destructor */
24
+ virtual ~GraphDistance() = default;
25
+
26
+ /**
27
+ * Returns the distance between @a u and @a v in Graph @a g i.e., the length of the shortest
28
+ * path between the two. Zero if u = v, maximal possible value if no path exists.
29
+ *
30
+ * @param g The graph.
31
+ * @param u Endpoint of edge.
32
+ * @param v Endpoint of edge.
33
+ * @return The distance between @a u and @a v.
34
+ */
35
+ edgeweight weightedDistance(const Graph &g, node u, node v) const;
36
+
37
+ /**
38
+ * Returns the number of edges on shortest unweighted path between @a u and @a v in Graph @a g.
39
+ *
40
+ * @param g The graph.
41
+ * @param u Endpoint of edge.
42
+ * @param v Endpoint of edge.
43
+ * @return The number of edges between @a u and @a v.
44
+ */
45
+ count unweightedDistance(const Graph &g, node u, node v) const;
46
+ };
47
+
48
+ } /* namespace NetworKit */
49
+ #endif // NETWORKIT_DISTANCE_GRAPH_DISTANCE_HPP_
@@ -0,0 +1,62 @@
1
+ /*
2
+ * HopPlotApproximation.hpp
3
+ *
4
+ * Created on: 30.03.2016
5
+ * Author: Maximilian Vogel
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_HOP_PLOT_APPROXIMATION_HPP_
9
+ #define NETWORKIT_DISTANCE_HOP_PLOT_APPROXIMATION_HPP_
10
+
11
+ #include <map>
12
+
13
+ #include <networkit/base/Algorithm.hpp>
14
+ #include <networkit/graph/Graph.hpp>
15
+
16
+ namespace NetworKit {
17
+
18
+ /**
19
+ * @ingroup distance
20
+ */
21
+ class HopPlotApproximation final : public Algorithm {
22
+
23
+ public:
24
+ /**
25
+ * Computes an approximation of the hop-plot of a given graph
26
+ * The hop-plot is the set of pairs (d, g(g)) for each natural number d
27
+ * and where g(d) is the fraction of connected node pairs whose shortest connecting path has
28
+ * length at most d. Implementation after the ANF algorithm presented in the paper "A Fast and
29
+ * Scalable Tool for Data Mining in Massive Graphs"[1]
30
+ *
31
+ * [1] by Palmer, Gibbons and Faloutsos which can be found here:
32
+ * http://www.cs.cmu.edu/~christos/PUBLICATIONS/kdd02-anf.pdf
33
+ *
34
+ * @param G the given graph
35
+ * @param maxDistance the maximum path length that shall be considered. set 0 for
36
+ * infinity/diameter of the graph
37
+ * @param k the number of parallel approximations to get a more robust result; default = 64
38
+ * @param r the amount of bits that are added to the length of the bitmask to improve the
39
+ * accuracy; default = 7
40
+ * @return the approximated hop-plot of the graph
41
+ */
42
+ HopPlotApproximation(const Graph &G, count maxDistance = 0, count k = 64, count r = 7);
43
+
44
+ void run() override;
45
+
46
+ /**
47
+ * Returns the approximated hop-plot of the graph.
48
+ * @return the approximated hop-plot of the graph
49
+ */
50
+ const std::map<count, double> &getHopPlot() const;
51
+
52
+ private:
53
+ const Graph *G;
54
+ const count maxDistance;
55
+ const count k;
56
+ const count r;
57
+ std::map<count, double> hopPlot;
58
+ };
59
+
60
+ } /* namespace NetworKit */
61
+
62
+ #endif // NETWORKIT_DISTANCE_HOP_PLOT_APPROXIMATION_HPP_
@@ -0,0 +1,66 @@
1
+ /*
2
+ * IncompleteDijkstra.hpp
3
+ *
4
+ * Created on: 15.07.2014
5
+ * Author: dhoske
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_INCOMPLETE_DIJKSTRA_HPP_
9
+ #define NETWORKIT_DISTANCE_INCOMPLETE_DIJKSTRA_HPP_
10
+
11
+ #include <unordered_set>
12
+ #include <vector>
13
+
14
+ #include <tlx/container/d_ary_addressable_int_heap.hpp>
15
+
16
+ #include <networkit/auxiliary/PrioQueue.hpp>
17
+ #include <networkit/auxiliary/VectorComparator.hpp>
18
+ #include <networkit/distance/IncompleteSSSP.hpp>
19
+ #include <networkit/graph/Graph.hpp>
20
+
21
+ namespace NetworKit {
22
+
23
+ /**
24
+ * @ingroup distance
25
+ * Implementation of @a IncompleteSSSP using a normal
26
+ * Dijkstra with binary heaps.
27
+ */
28
+ class IncompleteDijkstra : public IncompleteSSSP {
29
+ public:
30
+ /**
31
+ * Creates a IncompleteDijkstra instance from the sources in
32
+ * @a sources (act like a super source) in the graph @a G.
33
+ * The edges in @a G must have nonnegative weight and @a G should
34
+ * not be null.
35
+ *
36
+ * We also consider the nodes in @a explored to not exist
37
+ * if @a explored is not null.
38
+ *
39
+ * @warning We do not copy @a G or @a explored, but store a
40
+ * non-owning pointer to them. Otherwise IncompleteDijkstra would not
41
+ * be more efficient than normal Dijkstra. Thus, @a G and @a explored
42
+ * must exist at least as long as this IncompleteDijkstra instance.
43
+ *
44
+ * @todo This is somewhat ugly, but we do not want introduce a
45
+ * std::shared_ptr<> since @a G and @a explored could well
46
+ * be stack allocated.
47
+ */
48
+ IncompleteDijkstra(const Graph *G, const std::vector<node> &sources,
49
+ const std::unordered_set<node> *explored = nullptr);
50
+
51
+ bool hasNext() override;
52
+ std::pair<node, edgeweight> next() override;
53
+
54
+ private:
55
+ // Stored reference to outside data structures
56
+ const Graph *G;
57
+ const std::unordered_set<node> *explored;
58
+
59
+ std::vector<edgeweight> dists;
60
+
61
+ tlx::d_ary_addressable_int_heap<node, 2, Aux::LessInVector<edgeweight>> heap;
62
+ };
63
+
64
+ } // namespace NetworKit
65
+
66
+ #endif // NETWORKIT_DISTANCE_INCOMPLETE_DIJKSTRA_HPP_
@@ -0,0 +1,41 @@
1
+ /*
2
+ * IncompleteSSSP.hpp
3
+ *
4
+ * Created on: 15.07.2014
5
+ * Author: dhoske
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_INCOMPLETE_SSSP_HPP_
9
+ #define NETWORKIT_DISTANCE_INCOMPLETE_SSSP_HPP_
10
+
11
+ #include <networkit/graph/Graph.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup distance
17
+ * Abstract base class for single-source shortest path algorithms that return
18
+ * the nodes in order of increasing distance from the source and do not
19
+ * necessarily need to compute all distances.
20
+ */
21
+ class IncompleteSSSP {
22
+
23
+ public:
24
+ /**
25
+ * Returns whether there is a next-nearest node
26
+ * or all of the nodes reachable from the source
27
+ * have already been processed.
28
+ */
29
+ virtual bool hasNext() = 0;
30
+
31
+ /**
32
+ * Returns the next-nearest node from the source and its
33
+ * distance to the source. Should only be called if @a hasNext()
34
+ * returns true.
35
+ */
36
+ virtual std::pair<node, edgeweight> next() = 0;
37
+ };
38
+
39
+ } // namespace NetworKit
40
+
41
+ #endif // NETWORKIT_DISTANCE_INCOMPLETE_SSSP_HPP_
@@ -0,0 +1,57 @@
1
+ /*
2
+ * JaccardDistance.hpp
3
+ *
4
+ * Created on: 17.11.2014
5
+ * Author: Michael Hamann, Gerd Lindner
6
+ */
7
+
8
+ #ifndef NETWORKIT_DISTANCE_JACCARD_DISTANCE_HPP_
9
+ #define NETWORKIT_DISTANCE_JACCARD_DISTANCE_HPP_
10
+
11
+ #include <networkit/auxiliary/Timer.hpp>
12
+ #include <networkit/distance/NodeDistance.hpp>
13
+ #include <networkit/graph/Graph.hpp>
14
+
15
+ namespace NetworKit {
16
+
17
+ /**
18
+ * @ingroup distance
19
+ * Jaccard distance assigns a distance value to pairs of nodes
20
+ * according to the similarity of their neighborhoods. Note that we define the JaccardDistance as
21
+ * 1-JaccardSimilarity.
22
+ */
23
+ class JaccardDistance final : public NodeDistance {
24
+
25
+ public:
26
+ /**
27
+ * @param G The graph.
28
+ * @param triangles Edge attribute containing the number of triangles each edge is contained in.
29
+ */
30
+ JaccardDistance(const Graph &G, const std::vector<count> &triangles);
31
+
32
+ /**
33
+ * REQ: Needs to be called before getEdgeScores delivers meaningful results.
34
+ */
35
+ void preprocess() override;
36
+
37
+ /**
38
+ * Returns the Jaccard distance between node @a u and node @a v.
39
+ * @return Jaccard distance between the two nodes.
40
+ */
41
+ double distance(node u, node v) override;
42
+
43
+ /**
44
+ * Returns the Jaccard distances between all connected nodes.
45
+ * @return Vector containing the Jaccard distances between all connected pairs of nodes.
46
+ */
47
+ const std::vector<double> &getEdgeScores() const override;
48
+
49
+ private:
50
+ const std::vector<count> &triangles;
51
+ std::vector<double> jDistance; // result vector
52
+
53
+ inline double getJaccardDistance(count degU, count degV, count t);
54
+ };
55
+
56
+ } /* namespace NetworKit */
57
+ #endif // NETWORKIT_DISTANCE_JACCARD_DISTANCE_HPP_
@@ -0,0 +1,32 @@
1
+ #ifndef NETWORKIT_DISTANCE_MULTI_TARGET_BFS_HPP_
2
+ #define NETWORKIT_DISTANCE_MULTI_TARGET_BFS_HPP_
3
+
4
+ #include <networkit/distance/STSP.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * @ingroup distance
10
+ * Computes the shortest-path distance from a single source to multiple targets in unweighted
11
+ * graphs.
12
+ */
13
+ class MultiTargetBFS final : public STSP {
14
+
15
+ public:
16
+ /**
17
+ * Creates the MultiTargetBFS class for a graph @a G, source node @a source, and
18
+ * multiple target nodes.
19
+ *
20
+ * @param G The graph.
21
+ * @param source The source node.
22
+ * @param targetsFirst,targetsLast Range of target nodes.
23
+ */
24
+ template <class InputIt>
25
+ MultiTargetBFS(const Graph &G, node source, InputIt targetsFirst, InputIt targetsLast)
26
+ : STSP(G, source, targetsFirst, targetsLast) {}
27
+
28
+ void run() override;
29
+ };
30
+ } // namespace NetworKit
31
+
32
+ #endif // NETWORKIT_DISTANCE_MULTI_TARGET_BFS_HPP_
@@ -0,0 +1,40 @@
1
+ #ifndef NETWORKIT_DISTANCE_MULTI_TARGET_DIJKSTRA_HPP_
2
+ #define NETWORKIT_DISTANCE_MULTI_TARGET_DIJKSTRA_HPP_
3
+
4
+ #include <networkit/auxiliary/VectorComparator.hpp>
5
+ #include <networkit/distance/STSP.hpp>
6
+
7
+ #include <tlx/container/d_ary_addressable_int_heap.hpp>
8
+
9
+ #include <vector>
10
+
11
+ namespace NetworKit {
12
+
13
+ /**
14
+ * @ingroup distance
15
+ * Computes the shortest-path distance from a single source to multiple targets in weighted graphs.
16
+ */
17
+ class MultiTargetDijkstra final : public STSP {
18
+
19
+ public:
20
+ /**
21
+ * Creates the MultiTargetDijkstra class for a graph @a G, source node @a source, and
22
+ * multiple target nodes.
23
+ *
24
+ * @param G The graph.
25
+ * @param source The source node.
26
+ * @param targetsFirst,targetsLast Range of target nodes.
27
+ */
28
+ template <class InputIt>
29
+ MultiTargetDijkstra(const Graph &G, node source, InputIt targetsFirst, InputIt targetsLast)
30
+ : STSP(G, source, targetsFirst, targetsLast) {}
31
+
32
+ void run() override;
33
+
34
+ private:
35
+ std::vector<edgeweight> distFromSource;
36
+ tlx::d_ary_addressable_int_heap<node, 2, Aux::LessInVector<edgeweight>> heap{distFromSource};
37
+ };
38
+ } // namespace NetworKit
39
+
40
+ #endif // NETWORKIT_DISTANCE_MULTI_TARGET_DIJKSTRA_HPP_