@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,63 @@
1
+ /*
2
+ * METISParser.hpp
3
+ *
4
+ * Created on: 27.11.2012
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_IO_METIS_PARSER_HPP_
9
+ #define NETWORKIT_IO_METIS_PARSER_HPP_
10
+
11
+ #include <fstream>
12
+ #include <string>
13
+ #include <tuple>
14
+ #include <vector>
15
+
16
+ #include <networkit/Globals.hpp>
17
+
18
+ namespace NetworKit {
19
+
20
+ /**
21
+ * @ingroup io
22
+ * Parser for the METIS file format.
23
+ */
24
+ class METISParser final {
25
+
26
+ std::ifstream graphFile;
27
+
28
+ public:
29
+ /**
30
+ * Constructor for the METIS Parser.
31
+ *
32
+ * @param[in] path file path
33
+ */
34
+ METISParser(std::string_view path);
35
+
36
+ /**
37
+ * Get the METIS graph file header
38
+ */
39
+ std::tuple<count, count, index, count> getHeader();
40
+
41
+ /**
42
+ * Test if graph file has a next line.
43
+ */
44
+ bool hasNext();
45
+
46
+ /**
47
+ * Get adjacencies from the next line in the METIS graph file.
48
+ *
49
+ * @param[in] ignoreFirst number of values to ignore [in case the METIS file contains node
50
+ * weightes]
51
+ */
52
+ std::vector<node> getNext(count ignoreFirst = 0);
53
+
54
+ /**
55
+ * Get adjacencies with edge weights from the next line in the METIS graph file.
56
+ *
57
+ * @param[in] ignoreFirst number of values to ignore [in case the METIS file contains node
58
+ * weightes]
59
+ */
60
+ std::vector<std::pair<node, double>> getNextWithWeights(count ignoreFirst = 0);
61
+ };
62
+ } /* namespace NetworKit */
63
+ #endif // NETWORKIT_IO_METIS_PARSER_HPP_
@@ -0,0 +1,31 @@
1
+ #ifndef NETWORKIT_IO_MTX_GRAPH_READER_HPP_
2
+ #define NETWORKIT_IO_MTX_GRAPH_READER_HPP_
3
+
4
+ #include <networkit/io/GraphReader.hpp>
5
+
6
+ namespace NetworKit {
7
+
8
+ /**
9
+ * @ingroup io
10
+ *
11
+ * Reader for the matrix market file format documented in
12
+ * https://networkrepository.com/mtx-matrix-market-format.html
13
+ *
14
+ * Does not allow complex fields.
15
+ *
16
+ */
17
+ class MTXGraphReader final : public GraphReader {
18
+ public:
19
+ MTXGraphReader() = default;
20
+
21
+ /**
22
+ * Takes a file path as parameter and returns a graph.
23
+ *
24
+ * @param path
25
+ * @return Graph
26
+ */
27
+ GraphW read(std::string_view path) override;
28
+ };
29
+
30
+ } /* namespace NetworKit */
31
+ #endif // NETWORKIT_IO_MTX_GRAPH_READER_HPP_
@@ -0,0 +1,87 @@
1
+ #ifndef NETWORKIT_IO_MTX_PARSER_HPP_
2
+ #define NETWORKIT_IO_MTX_PARSER_HPP_
3
+
4
+ #include <fstream>
5
+ #include <optional>
6
+ #include <string>
7
+ #include <tuple>
8
+ #include <unordered_map>
9
+ #include <vector>
10
+
11
+ #include <networkit/Globals.hpp>
12
+ #include <networkit/graph/Graph.hpp>
13
+
14
+ namespace NetworKit {
15
+ /**
16
+ * @ingroup io
17
+ * Parser for the MTX file format.
18
+ */
19
+ class MTXParser final {
20
+
21
+ std::ifstream graphFile;
22
+ std::string currentLine;
23
+
24
+ public:
25
+ enum class Object { Matrix, Vector };
26
+ enum class Format { Coordinate, Array };
27
+ enum class Field { Real, Double, Complex, Integer, Pattern };
28
+ enum class Symmetry { General, Symmetric, SkewSymmetric, Hermitian };
29
+
30
+ std::unordered_map<std::string, Object> objectMap = {{"matrix", Object::Matrix},
31
+ {"vector", Object::Vector}};
32
+ std::unordered_map<std::string, Format> formatMap = {{"coordinate", Format::Coordinate},
33
+ {"array", Format::Array}};
34
+ std::unordered_map<std::string, Field> fieldMap = {{"real", Field::Real},
35
+ {"double", Field::Double},
36
+ {"integer", Field::Integer},
37
+ {"pattern", Field::Pattern}};
38
+ std::unordered_map<std::string, Symmetry> symmetryMap = {
39
+ {"general", Symmetry::General},
40
+ {"symmetric", Symmetry::Symmetric},
41
+ {"skew-symmetric", Symmetry::SkewSymmetric}};
42
+
43
+ struct MTXHeader {
44
+ Object object;
45
+ Format format;
46
+ Field field;
47
+ Symmetry symmetry;
48
+ };
49
+
50
+ struct MatrixSize {
51
+ count rows;
52
+ count columns;
53
+ count nonzeros;
54
+
55
+ MatrixSize(count r, count c, count nz) : rows(r), columns(c), nonzeros(nz) {}
56
+ };
57
+
58
+ struct Edge {
59
+ node from;
60
+ node to;
61
+ std::optional<double> weight;
62
+
63
+ Edge(node f, node t, std::optional<double> w) : from(f), to(t), weight(w) {}
64
+ };
65
+
66
+ MTXParser(const std::string &path);
67
+
68
+ /**
69
+ * Get the MTX graph file header.
70
+ */
71
+ MTXHeader getHeader();
72
+
73
+ /**
74
+ * Get the MTX graph file matrix size header.
75
+ */
76
+ MatrixSize getMatrixSize();
77
+
78
+ /**
79
+ * Get the (weighted) edge from the next line in the MTX graph file if present.
80
+ *
81
+ * @param weighted
82
+ * @return std::optional<std::pair<NetworKit::Edge, NetworKit::edgeweight>>
83
+ */
84
+ std::optional<NetworKit::WeightedEdge> getNext(bool weighted);
85
+ };
86
+ } /* namespace NetworKit */
87
+ #endif // NETWORKIT_IO_MTX_PARSER_HPP_
@@ -0,0 +1,33 @@
1
+ /*
2
+ * MatrixMarketReader.hpp
3
+ *
4
+ * Created on: 25.07.2014
5
+ * Author: dhoske
6
+ */
7
+
8
+ #ifndef NETWORKIT_IO_MATRIX_MARKET_READER_HPP_
9
+ #define NETWORKIT_IO_MATRIX_MARKET_READER_HPP_
10
+
11
+ #include <networkit/io/MatrixReader.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup io
17
+ * Reader for the matrix market file format as described in
18
+ * http://math.nist.gov/MatrixMarket/reports/MMformat.ps.
19
+ *
20
+ * Only allows real, symmetric matrices.
21
+ */
22
+ class MatrixMarketReader final : public MatrixReader {
23
+ public:
24
+ MatrixMarketReader() = default;
25
+
26
+ CSRMatrix read(std::string_view path) override;
27
+
28
+ /** Reads the matrix in @a in. */
29
+ CSRMatrix read(std::istream &in);
30
+ };
31
+
32
+ } // namespace NetworKit
33
+ #endif // NETWORKIT_IO_MATRIX_MARKET_READER_HPP_
@@ -0,0 +1,33 @@
1
+ /*
2
+ * MatrixReader.hpp
3
+ *
4
+ * Created on: 17.01.2013
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_IO_MATRIX_READER_HPP_
9
+ #define NETWORKIT_IO_MATRIX_READER_HPP_
10
+
11
+ #include <networkit/algebraic/CSRMatrix.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup io
17
+ * Abstract base class for matrix readers.
18
+ */
19
+ class MatrixReader {
20
+ public:
21
+ virtual ~MatrixReader() = default;
22
+
23
+ /**
24
+ * Reads the matrix in @a path.
25
+ */
26
+ virtual CSRMatrix read(std::string_view path) = 0;
27
+
28
+ /** only to be used by Cython - this eliminates an unnecessary copy */
29
+ CSRMatrix *_read(std::string_view path) { return new CSRMatrix{read(path)}; };
30
+ };
31
+
32
+ } // namespace NetworKit
33
+ #endif // NETWORKIT_IO_MATRIX_READER_HPP_
@@ -0,0 +1,80 @@
1
+ /*
2
+ * MemoryMappedFile.hpp
3
+ *
4
+ * Created on: 16.07.2018
5
+ * Author: Manuel Penschuck (networkit@manuel.jetzt)
6
+ */
7
+
8
+ #ifndef NETWORKIT_IO_MEMORY_MAPPED_FILE_HPP_
9
+ #define NETWORKIT_IO_MEMORY_MAPPED_FILE_HPP_
10
+
11
+ #include <memory>
12
+ #include <string>
13
+
14
+ namespace NetworKit {
15
+ struct MemoryMappedFileState;
16
+
17
+ /**
18
+ * This class is a wrapper to os-dependend file mapping implementations.
19
+ * It supports to map a read-only file into virtual address space.
20
+ * After successful opening, pointers to the begin/end of the virtual
21
+ * address space are accessible via cbegin() / cend(). All file and mapping
22
+ * handlers are freed automatically.
23
+ *
24
+ * This wrapper is non-copyable but can be cheaply moved and swapped.
25
+ */
26
+ class MemoryMappedFile final {
27
+ public:
28
+ using value_type = char;
29
+ using const_iterator = const value_type *;
30
+
31
+ //! Creates a MemoryMappedFile instance in an unmapped state.
32
+ //! A call to open() is required.
33
+ MemoryMappedFile();
34
+
35
+ //! Invokes open(path) automatically
36
+ explicit MemoryMappedFile(std::string_view path);
37
+
38
+ //! Invokes close
39
+ ~MemoryMappedFile();
40
+
41
+ //! It's non copy-able
42
+ MemoryMappedFile(const MemoryMappedFile &) = delete;
43
+ MemoryMappedFile &operator=(const MemoryMappedFile &) = delete;
44
+
45
+ //! Takes over the mapping (if any) from o, leaves o in a "closed"
46
+ //! state ready to be opened again.
47
+ MemoryMappedFile(MemoryMappedFile &&o) noexcept;
48
+
49
+ //! If *this currently holds a mapping, it is closed and replaced
50
+ //! the other's state which in turn is left closed.
51
+ MemoryMappedFile &operator=(MemoryMappedFile &&o) noexcept;
52
+
53
+ //! Opens the file and maps it to cbegin() ... cend()
54
+ //! Opening an empty file is considered an error.
55
+ void open(std::string_view file);
56
+
57
+ //! If a file is mapped, it is closed. Otherwise, operation is carried out.
58
+ //! @note This function is automatically called by the destructor.
59
+ void close() noexcept;
60
+
61
+ //! If a file is opened, a random-access iterator to the first byte mapped is returned.
62
+ //! If no file is opened, nullptr is returned.
63
+ const_iterator cbegin() const { return beginIt; }
64
+
65
+ //! Analogously to cbegin()
66
+ const_iterator cend() const { return endIt; }
67
+
68
+ //! Number of bytes mapped
69
+ size_t size() const { return std::distance(beginIt, endIt); }
70
+
71
+ private:
72
+ const_iterator beginIt{nullptr};
73
+ const_iterator endIt{nullptr};
74
+
75
+ //!< used only by Windows implementation to keep handlers around.
76
+ std::unique_ptr<MemoryMappedFileState> state;
77
+ };
78
+
79
+ } // namespace NetworKit
80
+ #endif // NETWORKIT_IO_MEMORY_MAPPED_FILE_HPP_
@@ -0,0 +1,144 @@
1
+ /*
2
+ * NetworkitBinaryGraph.hpp
3
+ *
4
+ * Author: Charmaine Ndolo <charmaine.ndolo@hu-berlin.de>
5
+ */
6
+
7
+ #ifndef NETWORKIT_IO_NETWORKIT_BINARY_GRAPH_HPP_
8
+ #define NETWORKIT_IO_NETWORKIT_BINARY_GRAPH_HPP_
9
+
10
+ #include <cstddef>
11
+ #include <cstdint>
12
+
13
+ #include <tlx/define/likely.hpp>
14
+ #include <tlx/math/clz.hpp>
15
+ #include <tlx/math/ffs.hpp>
16
+
17
+ namespace NetworKit {
18
+ namespace nkbg {
19
+
20
+ struct Header {
21
+ char magic[8];
22
+ uint64_t checksum;
23
+ uint64_t features;
24
+ uint64_t nodes;
25
+ uint64_t chunks;
26
+ uint64_t offsetBaseData;
27
+ uint64_t offsetAdjLists;
28
+ uint64_t offsetAdjTranspose;
29
+ uint64_t offsetWeightLists;
30
+ uint64_t offsetWeightTranspose;
31
+ uint64_t offsetAdjIdLists;
32
+ uint64_t offsetAdjIdTranspose;
33
+ };
34
+
35
+ enum class WeightFormat : int { NONE = 0, VARINT = 1, SIGNED_VARINT = 2, DOUBLE = 3, FLOAT = 4 };
36
+
37
+ using WEIGHT_FORMAT = WeightFormat; // enum alias for backwards compatibility
38
+
39
+ static constexpr uint8_t DELETED_BIT = 0x1; // bit 0
40
+ static constexpr uint64_t DIR_MASK = 0x1; // bit 0
41
+ static constexpr uint64_t WGHT_MASK = 0xE; // bit 1-3
42
+ static constexpr uint64_t WGHT_SHIFT = 0x1;
43
+ static constexpr uint64_t INDEX_MASK = 0x10; // bit 4
44
+ static constexpr uint64_t INDEX_SHIFT = 0x4;
45
+
46
+ /**
47
+ * Serializes value into a buffer and returns the number of bytes written.
48
+ * The space required to store an integer x ranges between 1 and 9 bytes.
49
+ *
50
+ * The first byte (buffer[0]) encodes the number of following data bytes
51
+ * in the position y in [0, 7] of the least significant bit that is asserted.
52
+ * If the header byte is zero (i.e., it contains no asserted bits), exactly
53
+ * y=8 data bytes follow.
54
+ * Possibly remaining bits in the header are used to store the least
55
+ * significant bits of x. The subsequent data bytes store the remainder of x
56
+ * in little endian, i.e. * the eight least significant bits (not stored in
57
+ * the header) are stored in buffer[1], the next higher eight bits in
58
+ * buffer[2] and so on.
59
+ *
60
+ * Example:
61
+ * x = 0b0GFE'DCBA with G=1 requires 7 bits of storage. Hence it fits
62
+ * completely into the header which is
63
+ * buffer[0] = 0bGFED'CBA|1 where bit 0 encodes that no
64
+ * data bytes follow while bits 1 to 7 store x.
65
+ *
66
+ * x = 0bHGFE'DCBA with H=1 requires 8 bits of storage. Hence an
67
+ * additional data byte is required:
68
+ *
69
+ * buffer[0] = 0bFEDC'BA|10 where bits 0 and 1 encode that one data byte will follow
70
+ * buffer[1] = 0b0000'00|HG where bits 0 and 1 encode the remaining two bits
71
+ * of x, and bits 2 to 7 are filled as zeros
72
+ */
73
+
74
+ inline size_t varIntEncode(uint64_t value, uint8_t *buffer) noexcept {
75
+ if (!value) {
76
+ buffer[0] = 1;
77
+ return 1;
78
+ }
79
+
80
+ int dataBytes;
81
+
82
+ if (TLX_UNLIKELY(value >= (1llu << 56))) {
83
+ // We have more than 56 bits of data, i.e. we need 8 data bytes.
84
+ buffer[0] = 0;
85
+ dataBytes = 8;
86
+
87
+ } else {
88
+ const auto bits = 64 - tlx::clz(value);
89
+ dataBytes = static_cast<int>((bits - 1) / 7);
90
+
91
+ // number of bytes is encode by the number of trailing zeros
92
+ buffer[0] = static_cast<uint8_t>(1 << dataBytes);
93
+
94
+ // put the 8 - (dataBytes - 1) least significant bits into the remainder of the buffer byte
95
+ buffer[0] |= static_cast<uint8_t>(value << (dataBytes + 1));
96
+ value >>= 7 - dataBytes;
97
+ }
98
+
99
+ for (int i = 0; i < dataBytes; i++) {
100
+ buffer[i + 1] = static_cast<uint8_t>(value & 0xFF);
101
+ value >>= 8;
102
+ }
103
+
104
+ return dataBytes + 1;
105
+ }
106
+
107
+ /// Converts a serialized varint into an uint64_t value and returns the number of bytes consumed.
108
+ inline size_t varIntDecode(const uint8_t *data, uint64_t &value) noexcept {
109
+ int n = 8;
110
+ int bitsRecovered = 0;
111
+ uint64_t decoded = 0;
112
+
113
+ if (data[0]) {
114
+ n = static_cast<int>(tlx::ffs(data[0]) - 1);
115
+ decoded = data[0] >> (n + 1);
116
+ bitsRecovered = 7 - n;
117
+ }
118
+
119
+ for (int i = 0; i < n; i++) {
120
+ decoded |= static_cast<uint64_t>(data[i + 1]) << bitsRecovered;
121
+ bitsRecovered += 8;
122
+ }
123
+
124
+ value = decoded;
125
+ return n + 1;
126
+ }
127
+
128
+ /**
129
+ * Encodes a singed value, s.t. the sign bit is in the LSB bit, while the absolute value is
130
+ * stored in the remaining upper 63 bits. This allows more effective compression using varint.
131
+ */
132
+ inline uint64_t zigzagEncode(int64_t value) noexcept {
133
+ return (static_cast<uint64_t>(value) << 1) ^ (int64_t(-1) * (value < 0));
134
+ }
135
+
136
+ //! Reverses zigzagEncode.
137
+ inline int64_t zigzagDecode(uint64_t value) noexcept {
138
+ return (value >> 1) ^ (-(value & 1));
139
+ }
140
+
141
+ } // namespace nkbg
142
+ } // namespace NetworKit
143
+
144
+ #endif // NETWORKIT_IO_NETWORKIT_BINARY_GRAPH_HPP_
@@ -0,0 +1,50 @@
1
+ /*
2
+ * NetworkitBinaryReader.hpp
3
+ *
4
+ * Author: Charmaine Ndolo <charmaine.ndolo@hu-berlin.de>
5
+ */
6
+
7
+ #ifndef NETWORKIT_IO_NETWORKIT_BINARY_READER_HPP_
8
+ #define NETWORKIT_IO_NETWORKIT_BINARY_READER_HPP_
9
+
10
+ #include <cstring>
11
+ #include <string>
12
+ #include <networkit/graph/Graph.hpp>
13
+ #include <networkit/io/GraphReader.hpp>
14
+ #include <networkit/io/MemoryMappedFile.hpp>
15
+
16
+ namespace NetworKit {
17
+
18
+ /**
19
+ * @ingroup io
20
+ *
21
+ * Reads a graph written in the custom Networkit binary format.
22
+ * Note that there are multiple versions of the Networkit binary format.
23
+ * This Reader can read files that are written with format version 2 and 3.
24
+ * Format version 3 was released with Networkit 9.1 (December 2021).
25
+ * Further information can be found here:
26
+ * https://github.com/networkit/networkit/blob/master/networkit/cpp/io/NetworkitBinaryGraph.md
27
+ */
28
+
29
+ class NetworkitBinaryReader final : public GraphReader {
30
+
31
+ public:
32
+ NetworkitBinaryReader(){};
33
+
34
+ GraphW read(std::string_view path) override;
35
+ GraphW readFromBuffer(const std::vector<uint8_t> &data);
36
+
37
+ private:
38
+ count nodes;
39
+ count chunks;
40
+ bool directed;
41
+ bool weighted;
42
+ bool indexed;
43
+ count version;
44
+
45
+ template <class T>
46
+ GraphW readData(const T &source);
47
+ };
48
+ } // namespace NetworKit
49
+
50
+ #endif // NETWORKIT_IO_NETWORKIT_BINARY_READER_HPP_
@@ -0,0 +1,71 @@
1
+ /*
2
+ * NetworkitBinaryWriter.hpp
3
+ *
4
+ * Author: Charmaine Ndolo <charmaine.ndolo@hu-berlin.de>
5
+ */
6
+
7
+ #ifndef NETWORKIT_IO_NETWORKIT_BINARY_WRITER_HPP_
8
+ #define NETWORKIT_IO_NETWORKIT_BINARY_WRITER_HPP_
9
+
10
+ #include <networkit/graph/Graph.hpp>
11
+ #include <networkit/io/GraphWriter.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ enum class NetworkitBinaryWeights : int {
16
+ NONE,
17
+ UNSIGNED_FORMAT,
18
+ SIGNED_FORMAT,
19
+ DOUBLE_FORMAT,
20
+ FLOAT_FORMAT,
21
+ AUTO_DETECT,
22
+ none = NONE, // this + following added for backwards compatibility
23
+ unsignedFormat = UNSIGNED_FORMAT,
24
+ signedFormat = SIGNED_FORMAT,
25
+ doubleFormat = DOUBLE_FORMAT,
26
+ floatFormat = FLOAT_FORMAT,
27
+ autoDetect = AUTO_DETECT
28
+ };
29
+
30
+ enum class NetworkitBinaryEdgeIDs : int {
31
+ NO_EDGE_IDS,
32
+ WIRTE_EDGE_IDS,
33
+ AUTO_DETECT,
34
+ noEdgeIDs = NO_EDGE_IDS, // this + following added for backwards compatibility
35
+ writeEdgeIDs = WIRTE_EDGE_IDS,
36
+ autoDetect = AUTO_DETECT
37
+ };
38
+
39
+ /**
40
+ * @ingroup io
41
+ *
42
+ * Writes a graph written in the custom Networkit format.
43
+ * Note that there are multiple versions of the Networkit binary format.
44
+ * Since Networkit 9.1 (December 2021), the writer always writes files using format version 3.
45
+ * Reading a binary file with version < 3 and re-writing it, implicitly upgrades the format to the
46
+ * current version. Further information can be found here:
47
+ * https://github.com/networkit/networkit/blob/master/networkit/cpp/io/NetworkitBinaryGraph.md
48
+ */
49
+ class NetworkitBinaryWriter final : public GraphWriter {
50
+
51
+ public:
52
+ NetworkitBinaryWriter(uint64_t chunks = 32,
53
+ NetworkitBinaryWeights weightsType = NetworkitBinaryWeights::AUTO_DETECT,
54
+ NetworkitBinaryEdgeIDs edgeIndex = NetworkitBinaryEdgeIDs::AUTO_DETECT);
55
+
56
+ void write(const Graph &G, std::string_view path) override;
57
+ std::vector<uint8_t> writeToBuffer(const Graph &G);
58
+
59
+ private:
60
+ count chunks;
61
+ NetworkitBinaryWeights weightsType;
62
+ NetworkitBinaryEdgeIDs edgeIndex;
63
+ bool preserveEdgeIndex;
64
+
65
+ template <class T>
66
+ void writeData(T &outStream, const Graph &G);
67
+ };
68
+
69
+ } // namespace NetworKit
70
+
71
+ #endif // NETWORKIT_IO_NETWORKIT_BINARY_WRITER_HPP_
@@ -0,0 +1,34 @@
1
+ /*
2
+ * PartitionReader.hpp
3
+ *
4
+ * Created on: 15.02.2013
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_IO_PARTITION_READER_HPP_
9
+ #define NETWORKIT_IO_PARTITION_READER_HPP_
10
+
11
+ #include <fstream>
12
+
13
+ #include <networkit/graph/Graph.hpp>
14
+ #include <networkit/structures/Partition.hpp>
15
+
16
+ namespace NetworKit {
17
+
18
+ /**
19
+ * @ingroup io
20
+ */
21
+ class PartitionReader final {
22
+
23
+ public:
24
+ /**
25
+ * Read a clustering from a file. File format:
26
+ * line n contains cluster id of node (n - 1)
27
+ *
28
+ * @param[in] path Path to file.
29
+ */
30
+ Partition read(std::string_view path);
31
+ };
32
+
33
+ } /* namespace NetworKit */
34
+ #endif // NETWORKIT_IO_PARTITION_READER_HPP_
@@ -0,0 +1,31 @@
1
+ /*
2
+ * PartitionWriter.hpp
3
+ *
4
+ * Created on: 22.01.2013
5
+ * Author: Christian Staudt
6
+ */
7
+
8
+ #ifndef NETWORKIT_IO_PARTITION_WRITER_HPP_
9
+ #define NETWORKIT_IO_PARTITION_WRITER_HPP_
10
+
11
+ #include <fstream>
12
+
13
+ #include <networkit/structures/Partition.hpp>
14
+
15
+ namespace NetworKit {
16
+
17
+ /**
18
+ * @ingroup io
19
+ * Write a clustering to a file.
20
+ */
21
+ class PartitionWriter final {
22
+
23
+ public:
24
+ void write(const Partition &zeta, std::string_view path) const {
25
+ std::ofstream file{path.data()};
26
+ zeta.forEntries([&](node, const index c) { file << c << '\n'; });
27
+ }
28
+ };
29
+
30
+ } /* namespace NetworKit */
31
+ #endif // NETWORKIT_IO_PARTITION_WRITER_HPP_
@@ -0,0 +1,37 @@
1
+ /*
2
+ * RBGraphReader.hpp
3
+ *
4
+ * Created on: 16.10.2024
5
+ * Author: bernlu
6
+ */
7
+
8
+ #ifndef NETWORKIT_IO_RB_GRAPH_READER_HPP_
9
+ #define NETWORKIT_IO_RB_GRAPH_READER_HPP_
10
+
11
+ #include <networkit/io/GraphReader.hpp>
12
+
13
+ namespace NetworKit {
14
+
15
+ /**
16
+ * @ingroup io
17
+ * Reader for the Rutherford Boeing (RB) matrix file format as described in
18
+ * http://sparse-files.engr.tamu.edu/files/DOC/rb.pdf.
19
+ *
20
+ * @note currently the reader only supports compressed column format for real, integer, or pattern
21
+ * data types.
22
+ */
23
+ class RBGraphReader final : public GraphReader {
24
+ public:
25
+ RBGraphReader() = default;
26
+
27
+ /**
28
+ * Takes a file path as parameter and returns a graph.
29
+ *
30
+ * @param path
31
+ * @return Graph
32
+ */
33
+ GraphW read(std::string_view path) override;
34
+ };
35
+
36
+ } /* namespace NetworKit */
37
+ #endif // NETWORKIT_IO_RB_GRAPH_READER_HPP_