@ladybugmem/icebug 0.1.0 → 0.1.1

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 (625) hide show
  1. package/binding.gyp +32 -10
  2. package/lib/index.js +23 -11
  3. package/package.json +8 -13
  4. package/prebuilds/darwin-arm64/icebug.node +0 -0
  5. package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
  6. package/prebuilds/linux-x64/icebug.node +0 -0
  7. package/prebuilds/linux-x64/libnetworkit.so +0 -0
  8. package/scripts/download-icebug.sh +92 -0
  9. package/build/Release/.deps/Release/icebug.node.d +0 -1
  10. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
  11. package/build/Release/icebug.node +0 -0
  12. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  13. package/vendor/include/networkit/GlobalState.hpp +0 -86
  14. package/vendor/include/networkit/Globals.hpp +0 -41
  15. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
  16. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
  17. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
  18. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
  19. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
  20. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
  21. package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
  22. package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
  23. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
  24. package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
  29. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
  30. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
  31. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
  32. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
  33. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
  34. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
  35. package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
  36. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
  37. package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
  38. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
  39. package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
  40. package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
  41. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
  42. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
  43. package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
  44. package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
  45. package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
  46. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
  47. package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
  48. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
  49. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
  50. package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
  51. package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
  52. package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
  53. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
  54. package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
  55. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
  56. package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
  57. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
  58. package/vendor/include/networkit/base/Algorithm.hpp +0 -41
  59. package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
  60. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
  61. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
  62. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
  63. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
  64. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
  65. package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
  66. package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
  67. package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
  68. package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
  69. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
  70. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
  71. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
  72. package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
  73. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
  74. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
  75. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
  76. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
  77. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
  78. package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
  79. package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
  80. package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
  81. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
  82. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
  83. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
  84. package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
  85. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
  86. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
  87. package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
  88. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
  89. package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
  90. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
  91. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
  92. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
  93. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
  94. package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
  95. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
  96. package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
  97. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
  98. package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
  99. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
  100. package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
  101. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
  102. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
  103. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
  104. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
  105. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
  106. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
  107. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
  108. package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
  109. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
  110. package/vendor/include/networkit/community/Conductance.hpp +0 -32
  111. package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
  112. package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
  113. package/vendor/include/networkit/community/Coverage.hpp +0 -25
  114. package/vendor/include/networkit/community/CutClustering.hpp +0 -62
  115. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
  116. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
  117. package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
  118. package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
  119. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
  120. package/vendor/include/networkit/community/HubDominance.hpp +0 -46
  121. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
  122. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
  123. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
  124. package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
  125. package/vendor/include/networkit/community/LFM.hpp +0 -49
  126. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
  127. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
  128. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
  129. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
  130. package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
  131. package/vendor/include/networkit/community/Modularity.hpp +0 -54
  132. package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
  133. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
  134. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
  135. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
  136. package/vendor/include/networkit/community/PLM.hpp +0 -89
  137. package/vendor/include/networkit/community/PLP.hpp +0 -83
  138. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
  139. package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
  140. package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
  141. package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
  142. package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
  143. package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
  144. package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
  145. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
  146. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
  147. package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
  148. package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
  149. package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
  150. package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
  151. package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
  152. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
  153. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
  154. package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
  155. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
  156. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
  157. package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
  158. package/vendor/include/networkit/distance/APSP.hpp +0 -70
  159. package/vendor/include/networkit/distance/AStar.hpp +0 -68
  160. package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
  161. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
  162. package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
  163. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
  164. package/vendor/include/networkit/distance/BFS.hpp +0 -43
  165. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
  166. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
  167. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
  168. package/vendor/include/networkit/distance/Diameter.hpp +0 -97
  169. package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
  170. package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
  171. package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
  172. package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
  173. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
  174. package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
  175. package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
  176. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
  177. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
  178. package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
  179. package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
  180. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
  181. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
  182. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
  183. package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
  184. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
  185. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
  186. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
  187. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
  188. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
  189. package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
  190. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
  191. package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
  192. package/vendor/include/networkit/distance/SPSP.hpp +0 -143
  193. package/vendor/include/networkit/distance/SSSP.hpp +0 -216
  194. package/vendor/include/networkit/distance/STSP.hpp +0 -193
  195. package/vendor/include/networkit/distance/Volume.hpp +0 -66
  196. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
  197. package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
  198. package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
  199. package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
  200. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
  201. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
  202. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
  203. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
  204. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
  205. package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
  206. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
  207. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
  208. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
  209. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
  210. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
  211. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
  212. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
  213. package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
  214. package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
  215. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
  216. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
  217. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
  218. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
  219. package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
  220. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
  221. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
  222. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
  223. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
  224. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
  225. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
  226. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
  227. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
  228. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
  229. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
  230. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
  231. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
  232. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
  233. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
  234. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
  235. package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
  236. package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
  237. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
  238. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
  239. package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
  240. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
  241. package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
  242. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
  243. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
  244. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
  245. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
  246. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
  247. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
  248. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
  249. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
  250. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
  251. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
  252. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
  253. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
  254. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
  255. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
  256. package/vendor/include/networkit/graph/Attributes.hpp +0 -568
  257. package/vendor/include/networkit/graph/BFS.hpp +0 -111
  258. package/vendor/include/networkit/graph/DFS.hpp +0 -71
  259. package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
  260. package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
  261. package/vendor/include/networkit/graph/Graph.hpp +0 -2083
  262. package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
  263. package/vendor/include/networkit/graph/GraphR.hpp +0 -133
  264. package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
  265. package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
  266. package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
  267. package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
  268. package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
  269. package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
  270. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
  271. package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
  272. package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
  273. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
  274. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
  275. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
  276. package/vendor/include/networkit/independentset/Luby.hpp +0 -27
  277. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
  278. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
  279. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
  280. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
  281. package/vendor/include/networkit/io/CoverReader.hpp +0 -27
  282. package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
  283. package/vendor/include/networkit/io/DGSReader.hpp +0 -39
  284. package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
  285. package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
  286. package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
  287. package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
  288. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
  289. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
  290. package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
  291. package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
  292. package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
  293. package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
  294. package/vendor/include/networkit/io/GraphIO.hpp +0 -52
  295. package/vendor/include/networkit/io/GraphReader.hpp +0 -40
  296. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
  297. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
  298. package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
  299. package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
  300. package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
  301. package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
  302. package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
  303. package/vendor/include/networkit/io/METISParser.hpp +0 -63
  304. package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
  305. package/vendor/include/networkit/io/MTXParser.hpp +0 -87
  306. package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
  307. package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
  308. package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
  309. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
  310. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
  311. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
  312. package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
  313. package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
  314. package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
  315. package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
  316. package/vendor/include/networkit/io/RasterReader.hpp +0 -40
  317. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
  318. package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
  319. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
  320. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
  321. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
  322. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
  323. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
  324. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
  325. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
  326. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
  327. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
  328. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
  329. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
  330. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
  331. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
  332. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
  333. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
  334. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
  335. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
  336. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
  337. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
  338. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
  339. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
  340. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
  341. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
  342. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
  343. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
  344. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
  345. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
  346. package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
  347. package/vendor/include/networkit/matching/BMatching.hpp +0 -115
  348. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
  349. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
  350. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
  351. package/vendor/include/networkit/matching/Matcher.hpp +0 -55
  352. package/vendor/include/networkit/matching/Matching.hpp +0 -111
  353. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
  354. package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
  355. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
  356. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
  357. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
  358. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
  359. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
  360. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
  362. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
  363. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
  364. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
  365. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
  366. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
  367. package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
  368. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
  369. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
  370. package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
  371. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
  372. package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
  373. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
  374. package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
  375. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
  376. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
  377. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
  378. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
  379. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
  380. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
  381. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
  382. package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
  383. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
  384. package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
  385. package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
  386. package/vendor/include/networkit/scd/GCE.hpp +0 -42
  387. package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
  388. package/vendor/include/networkit/scd/LocalT.hpp +0 -40
  389. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
  390. package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
  391. package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
  392. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
  393. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
  394. package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
  395. package/vendor/include/networkit/scd/TCE.hpp +0 -41
  396. package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
  397. package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
  398. package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
  399. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
  400. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
  401. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
  402. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
  403. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
  404. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
  405. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
  406. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
  407. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
  408. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
  409. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
  410. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
  411. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
  412. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
  413. package/vendor/include/networkit/structures/Cover.hpp +0 -248
  414. package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
  415. package/vendor/include/networkit/structures/Partition.hpp +0 -335
  416. package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
  417. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
  418. package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
  419. package/vendor/include/networkit/viz/Octree.hpp +0 -428
  420. package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
  421. package/vendor/include/networkit/viz/Point.hpp +0 -415
  422. package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
  423. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
  424. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
  425. package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
  426. package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
  427. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
  428. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
  429. package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
  430. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
  431. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
  432. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
  433. package/vendor/include/tlx/algorithm.hpp +0 -36
  434. package/vendor/include/tlx/allocator_base.hpp +0 -100
  435. package/vendor/include/tlx/backtrace.hpp +0 -54
  436. package/vendor/include/tlx/cmdline_parser.hpp +0 -498
  437. package/vendor/include/tlx/container/btree.hpp +0 -3977
  438. package/vendor/include/tlx/container/btree_map.hpp +0 -634
  439. package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
  440. package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
  441. package/vendor/include/tlx/container/btree_set.hpp +0 -612
  442. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
  443. package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
  444. package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
  445. package/vendor/include/tlx/container/lru_cache.hpp +0 -319
  446. package/vendor/include/tlx/container/radix_heap.hpp +0 -735
  447. package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
  448. package/vendor/include/tlx/container/simple_vector.hpp +0 -304
  449. package/vendor/include/tlx/container/splay_tree.hpp +0 -399
  450. package/vendor/include/tlx/container/string_view.hpp +0 -805
  451. package/vendor/include/tlx/container.hpp +0 -40
  452. package/vendor/include/tlx/counting_ptr.hpp +0 -522
  453. package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
  454. package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
  455. package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
  456. package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
  457. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
  458. package/vendor/include/tlx/define/constexpr.hpp +0 -31
  459. package/vendor/include/tlx/define/deprecated.hpp +0 -39
  460. package/vendor/include/tlx/define/endian.hpp +0 -49
  461. package/vendor/include/tlx/define/likely.hpp +0 -33
  462. package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
  463. package/vendor/include/tlx/define.hpp +0 -36
  464. package/vendor/include/tlx/delegate.hpp +0 -524
  465. package/vendor/include/tlx/die/core.hpp +0 -311
  466. package/vendor/include/tlx/die.hpp +0 -106
  467. package/vendor/include/tlx/digest/md5.hpp +0 -81
  468. package/vendor/include/tlx/digest/sha1.hpp +0 -81
  469. package/vendor/include/tlx/digest/sha256.hpp +0 -81
  470. package/vendor/include/tlx/digest/sha512.hpp +0 -81
  471. package/vendor/include/tlx/digest.hpp +0 -30
  472. package/vendor/include/tlx/logger/all.hpp +0 -33
  473. package/vendor/include/tlx/logger/array.hpp +0 -43
  474. package/vendor/include/tlx/logger/core.hpp +0 -287
  475. package/vendor/include/tlx/logger/deque.hpp +0 -42
  476. package/vendor/include/tlx/logger/map.hpp +0 -65
  477. package/vendor/include/tlx/logger/set.hpp +0 -60
  478. package/vendor/include/tlx/logger/tuple.hpp +0 -66
  479. package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
  480. package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
  481. package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
  482. package/vendor/include/tlx/logger.hpp +0 -44
  483. package/vendor/include/tlx/math/abs_diff.hpp +0 -35
  484. package/vendor/include/tlx/math/aggregate.hpp +0 -231
  485. package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
  486. package/vendor/include/tlx/math/bswap.hpp +0 -148
  487. package/vendor/include/tlx/math/bswap_be.hpp +0 -79
  488. package/vendor/include/tlx/math/bswap_le.hpp +0 -79
  489. package/vendor/include/tlx/math/clz.hpp +0 -174
  490. package/vendor/include/tlx/math/ctz.hpp +0 -174
  491. package/vendor/include/tlx/math/div_ceil.hpp +0 -36
  492. package/vendor/include/tlx/math/ffs.hpp +0 -123
  493. package/vendor/include/tlx/math/integer_log2.hpp +0 -189
  494. package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
  495. package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
  496. package/vendor/include/tlx/math/popcount.hpp +0 -173
  497. package/vendor/include/tlx/math/power_to_the.hpp +0 -44
  498. package/vendor/include/tlx/math/rol.hpp +0 -112
  499. package/vendor/include/tlx/math/ror.hpp +0 -112
  500. package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
  501. package/vendor/include/tlx/math/round_up.hpp +0 -36
  502. package/vendor/include/tlx/math/sgn.hpp +0 -38
  503. package/vendor/include/tlx/math.hpp +0 -46
  504. package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
  505. package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
  506. package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
  507. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
  508. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
  509. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
  510. package/vendor/include/tlx/meta/enable_if.hpp +0 -37
  511. package/vendor/include/tlx/meta/fold_left.hpp +0 -63
  512. package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
  513. package/vendor/include/tlx/meta/fold_right.hpp +0 -63
  514. package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
  515. package/vendor/include/tlx/meta/function_chain.hpp +0 -197
  516. package/vendor/include/tlx/meta/function_stack.hpp +0 -189
  517. package/vendor/include/tlx/meta/has_member.hpp +0 -80
  518. package/vendor/include/tlx/meta/has_method.hpp +0 -117
  519. package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
  520. package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
  521. package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
  522. package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
  523. package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
  524. package/vendor/include/tlx/meta/log2.hpp +0 -101
  525. package/vendor/include/tlx/meta/no_operation.hpp +0 -55
  526. package/vendor/include/tlx/meta/static_index.hpp +0 -42
  527. package/vendor/include/tlx/meta/vexpand.hpp +0 -34
  528. package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
  529. package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
  530. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
  531. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
  532. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
  533. package/vendor/include/tlx/meta.hpp +0 -55
  534. package/vendor/include/tlx/multi_timer.hpp +0 -148
  535. package/vendor/include/tlx/port/setenv.hpp +0 -31
  536. package/vendor/include/tlx/port.hpp +0 -27
  537. package/vendor/include/tlx/semaphore.hpp +0 -119
  538. package/vendor/include/tlx/simple_vector.hpp +0 -20
  539. package/vendor/include/tlx/siphash.hpp +0 -282
  540. package/vendor/include/tlx/sort/networks/best.hpp +0 -611
  541. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
  542. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
  543. package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
  544. package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
  545. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
  546. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
  547. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
  548. package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
  549. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
  550. package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
  551. package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
  552. package/vendor/include/tlx/sort/strings.hpp +0 -329
  553. package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
  554. package/vendor/include/tlx/sort.hpp +0 -29
  555. package/vendor/include/tlx/stack_allocator.hpp +0 -226
  556. package/vendor/include/tlx/string/appendline.hpp +0 -35
  557. package/vendor/include/tlx/string/base64.hpp +0 -87
  558. package/vendor/include/tlx/string/bitdump.hpp +0 -139
  559. package/vendor/include/tlx/string/compare_icase.hpp +0 -42
  560. package/vendor/include/tlx/string/contains.hpp +0 -36
  561. package/vendor/include/tlx/string/contains_word.hpp +0 -42
  562. package/vendor/include/tlx/string/ends_with.hpp +0 -79
  563. package/vendor/include/tlx/string/equal_icase.hpp +0 -42
  564. package/vendor/include/tlx/string/erase_all.hpp +0 -70
  565. package/vendor/include/tlx/string/escape_html.hpp +0 -34
  566. package/vendor/include/tlx/string/escape_uri.hpp +0 -34
  567. package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
  568. package/vendor/include/tlx/string/extract_between.hpp +0 -40
  569. package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
  570. package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
  571. package/vendor/include/tlx/string/format_si_units.hpp +0 -32
  572. package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
  573. package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
  574. package/vendor/include/tlx/string/hexdump.hpp +0 -154
  575. package/vendor/include/tlx/string/index_of.hpp +0 -56
  576. package/vendor/include/tlx/string/join.hpp +0 -65
  577. package/vendor/include/tlx/string/join_generic.hpp +0 -89
  578. package/vendor/include/tlx/string/join_quoted.hpp +0 -46
  579. package/vendor/include/tlx/string/less_icase.hpp +0 -64
  580. package/vendor/include/tlx/string/levenshtein.hpp +0 -193
  581. package/vendor/include/tlx/string/pad.hpp +0 -39
  582. package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
  583. package/vendor/include/tlx/string/parse_uri.hpp +0 -66
  584. package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
  585. package/vendor/include/tlx/string/replace.hpp +0 -141
  586. package/vendor/include/tlx/string/split.hpp +0 -170
  587. package/vendor/include/tlx/string/split_quoted.hpp +0 -49
  588. package/vendor/include/tlx/string/split_view.hpp +0 -218
  589. package/vendor/include/tlx/string/split_words.hpp +0 -53
  590. package/vendor/include/tlx/string/ssprintf.hpp +0 -45
  591. package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
  592. package/vendor/include/tlx/string/starts_with.hpp +0 -44
  593. package/vendor/include/tlx/string/to_lower.hpp +0 -47
  594. package/vendor/include/tlx/string/to_upper.hpp +0 -47
  595. package/vendor/include/tlx/string/trim.hpp +0 -298
  596. package/vendor/include/tlx/string/union_words.hpp +0 -33
  597. package/vendor/include/tlx/string/word_wrap.hpp +0 -35
  598. package/vendor/include/tlx/string.hpp +0 -68
  599. package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
  600. package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
  601. package/vendor/include/tlx/thread_pool.hpp +0 -151
  602. package/vendor/include/tlx/timestamp.hpp +0 -23
  603. package/vendor/include/tlx/unused.hpp +0 -28
  604. package/vendor/include/tlx/vector_free.hpp +0 -30
  605. package/vendor/include/tlx/version.hpp +0 -49
  606. package/vendor/include/ttmath/ttmath.h +0 -2881
  607. package/vendor/include/ttmath/ttmathbig.h +0 -6111
  608. package/vendor/include/ttmath/ttmathdec.h +0 -419
  609. package/vendor/include/ttmath/ttmathint.h +0 -1923
  610. package/vendor/include/ttmath/ttmathmisc.h +0 -250
  611. package/vendor/include/ttmath/ttmathobjects.h +0 -812
  612. package/vendor/include/ttmath/ttmathparser.h +0 -2791
  613. package/vendor/include/ttmath/ttmaththreads.h +0 -252
  614. package/vendor/include/ttmath/ttmathtypes.h +0 -707
  615. package/vendor/include/ttmath/ttmathuint.h +0 -4190
  616. package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
  617. package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
  618. package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
  619. package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
  620. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
  621. package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
  622. package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
  623. package/vendor/lib/libtlx.a +0 -0
  624. package/vendor/lib/pkgconfig/networkit.pc +0 -11
  625. package/vendor/lib/pkgconfig/tlx.pc +0 -11
@@ -1,460 +0,0 @@
1
- /*
2
- * Lamg.hpp
3
- *
4
- * Created on: Oct 20, 2015
5
- * Author: Michael Wegner (michael.wegner@student.kit.edu)
6
- */
7
-
8
- #ifndef NETWORKIT_NUMERICS_LAMG_LAMG_HPP_
9
- #define NETWORKIT_NUMERICS_LAMG_LAMG_HPP_
10
-
11
- #include <omp.h>
12
- #include <vector>
13
-
14
- #include <networkit/algebraic/MatrixTools.hpp>
15
- #include <networkit/components/ParallelConnectedComponents.hpp>
16
- #include <networkit/numerics/GaussSeidelRelaxation.hpp>
17
- #include <networkit/numerics/LAMG/LevelHierarchy.hpp>
18
- #include <networkit/numerics/LAMG/MultiLevelSetup.hpp>
19
- #include <networkit/numerics/LAMG/SolverLamg.hpp>
20
- #include <networkit/numerics/LinearSolver.hpp>
21
-
22
- namespace NetworKit {
23
-
24
- /**
25
- * @ingroup numerics
26
- * Represents the interface to the Lean Algebraic Multigrid (LAMG) graph Laplacian linear solver
27
- * by Oren E. Livne and Achi Brandt.
28
- * @see Livne, Oren E., and Achi Brandt. "Lean algebraic multigrid (LAMG): Fast graph Laplacian
29
- * linear solver." SIAM Journal on Scientific Computing 34.4 (2012): B499-B522.
30
- */
31
- template <class Matrix>
32
- class Lamg : public LinearSolver<Matrix> {
33
- private:
34
- // for a graph/matrix with K components and T threads:
35
-
36
- bool validSetup;
37
- const GaussSeidelRelaxation<Matrix> smoother;
38
- const MultiLevelSetup<Matrix> lamgSetup;
39
- Matrix laplacianMatrix;
40
- count numComponents;
41
-
42
- // maps a node id from global index (in L) to its node id in the component (block of L) such
43
- // that in each component, nodes are indexed from 0 to size(component)-1. Size n
44
- // not used in case there is only a single component
45
- std::vector<index> graph2Components;
46
-
47
- // for each component, a vector of ids that are in this component. Size K
48
- std::vector<std::vector<index>> components;
49
- // one LevelHierarchy for each component. Size K
50
- std::vector<LevelHierarchy<Matrix>> compHierarchies;
51
-
52
- // these are internal data structures used in the solve function
53
- // one object for each component and each thread - access: [thread][component]
54
- mutable std::vector<std::vector<SolverLamg<Matrix>>> compSolvers;
55
- // one object for each component and each thread - access: [thread][component]
56
- mutable std::vector<std::vector<LAMGSolverStatus>> compStati;
57
-
58
- // one object for each component and each thread - access: [thread][component]
59
- mutable std::vector<std::vector<Vector>> initialVectors;
60
- // one object for each component and each thread - access: [thread][component]
61
- mutable std::vector<std::vector<Vector>> rhsVectors;
62
-
63
- // initializing step 1
64
- // initializes numComponents, graph2components, components, compHierarchies
65
- // precondition: laplacianMatrix is set correctly
66
- void initializeOneComponent();
67
- void initializeMultipleComponents(const Graph &G, const ComponentDecomposition &decomp);
68
-
69
- // initializing step 2
70
- // initializes compSolvers, compStati, initialVectors, rhsVectors
71
- // Precondition: the following members are set correctly:
72
- // numComponents, components, compHierarchies
73
- void initializeInternalDatastructures() const;
74
-
75
- // solves on the given thread
76
- SolverStatus solveThread(const Vector &rhs, Vector &result, count maxConvergenceTime,
77
- count maxIterations, index threadId) const;
78
-
79
- public:
80
- /**
81
- * Construct a solver with the given @a tolerance. The relative residual ||Ax-b||/||b|| will be
82
- * less than or equal to
83
- * @a tolerance after the solver finished.
84
- * @param tolerance
85
- */
86
- Lamg(const double tolerance = 1e-6)
87
- : LinearSolver<Matrix>(tolerance), validSetup(false), lamgSetup(smoother),
88
- numComponents(0) {}
89
- /** Default destructor */
90
- ~Lamg() override = default;
91
-
92
- /**
93
- * Compute the multigrid hierarchy for the given Laplacian matrix @a laplacianMatrix.
94
- * @param laplacianMatrix
95
- * @note This method also works for disconnected graphs. If you know that the graph is
96
- * connected, it is faster to use @ref setupConnected instead.
97
- */
98
- void setup(const Matrix &laplacianMatrix) override;
99
-
100
- /**
101
- * Compute the multigrid hierarchy for the Laplacian matrix that
102
- * corresponds to the graph @a G.
103
- * @param laplacianMatrix
104
- * @param G Graph that corresponds to the @a laplacianMatrix
105
- */
106
- void setup(const Graph &graph) override;
107
-
108
- /**
109
- * Compute the multigrid hierarchy for the given Laplacian matrix @a laplacianMatrix that
110
- * corresponds to the graph @a G.
111
- * @param laplacianMatrix
112
- * @param G Graph that corresponds to the @a laplacianMatrix
113
- * @note This setup method allows you to skip some computation required for setting up LAMG. You
114
- * can provide your matrix and graph, which are required for setting up LAMG, via this method to
115
- * prevent duplicate computation. Note that the output is undefined if the two parameters do not
116
- * correspond the the same graph.
117
- */
118
- void setup(const Matrix &laplacianMatrix, const Graph &G);
119
-
120
- /**
121
- * Compute the multigrid hierarchy for the Laplacian matrix that
122
- * corresponds to the graph @a G using the existing component decomposition @a decomp.
123
- * @param G Graph that corresponds to the @a laplacianMatrix
124
- * @param decomp ComponentDecomposition for the graph @a G
125
- * @note This setup method allows you to skip some computation required for setting up LAMG. You
126
- * can provide your graph and decomposition, which are required for setting up LAMG, via this
127
- * method to prevent duplicate computation. Note that the output is undefined if the two
128
- * parameters do not correspond the the same graph.
129
- */
130
- void setup(const Graph &G, const ComponentDecomposition &decomp);
131
-
132
- /**
133
- * Compute the multigrid hierarchy for the given Laplacian matrix @a laplacianMatrix that
134
- * corresponds to the graph @a G using the existing component decomposition @a decomp.
135
- * @param laplacianMatrix
136
- * @param G Graph that corresponds to the @a laplacianMatrix
137
- * @param decomp ComponentDecomposition for the graph @a G
138
- * @note This setup method allows you to skip some computation required for setting up LAMG. You
139
- * can provide your graph and decomposition, which are required for setting up LAMG, via
140
- * this method to prevent duplicate computation. Note that the output is undefined if the three
141
- * parameters do not correspond the the same graph.
142
- */
143
- void setup(const Matrix &laplacianMatrix, const Graph &G, const ComponentDecomposition &decomp);
144
-
145
- /**
146
- * Compute the multigrid hierarchy for the given Laplacian matrix @a laplacianMatrix.
147
- * @param laplacianMatrix
148
- * @note The graph has to be connected for this method to work. Otherwise the output is
149
- * undefined.
150
- */
151
- void setupConnected(const Matrix &laplacianMatrix) override;
152
-
153
- /**
154
- * Computes the @a result for the matrix currently setup and the right-hand side @a rhs.
155
- * The maximum spent time can be specified by @a maxConvergenceTime and the maximum number of
156
- * iterations can be set by @a maxIterations.
157
- * @param rhs
158
- * @param result
159
- * @param maxConvergenceTime
160
- * @param maxIterations
161
- * @return A @ref SolverStatus object which provides some statistics like the final absolute
162
- * residual.
163
- */
164
- SolverStatus solve(const Vector &rhs, Vector &result, count maxConvergenceTime = 5 * 60 * 1000,
165
- count maxIterations = std::numeric_limits<count>::max()) const override;
166
-
167
- /**
168
- * Compute the @a results for the matrix currently setup and the right-hand sides @a rhs.
169
- * The maximum spent time for each system can be specified by @a maxConvergenceTime and the
170
- * maximum number of iterations can be set by @a maxIterations.
171
- * @param rhs
172
- * @param results
173
- * @param maxConvergenceTime
174
- * @param maxIterations
175
- */
176
- std::vector<SolverStatus>
177
- parallelSolve(const std::vector<Vector> &rhs, std::vector<Vector> &results,
178
- count maxConvergenceTime = 5 * 60 * 1000,
179
- count maxIterations = std::numeric_limits<count>::max()) const override;
180
-
181
- /**
182
- * Abstract parallel solve function that computes and processes results using @a resultProcessor
183
- * for the matrix currently setup and the right-hand sides (size of @a rhsSize) provided by @a
184
- * rhsLoader. The maximum spent time for each system can be specified by @a maxConvergenceTime
185
- * and the maximum number of iterations can be set by @a maxIterations.
186
- * @param rhsLoader
187
- * @param resultProcessor
188
- * @param rhsSize
189
- * @param maxConvergenceTime
190
- * @param maxIterations
191
- * @note If the solver does not support parallelism during solves, this function falls back to
192
- * solving the systems sequentially.
193
- * @note The @a rhsLoader and @a resultProcessor are called from multiple threads in parallel.
194
- */
195
- template <typename RHSLoader, typename ResultProcessor>
196
- void parallelSolve(const RHSLoader &rhsLoader, const ResultProcessor &resultProcessor,
197
- std::pair<count, count> rhsSize, count maxConvergenceTime = 5 * 60 * 1000,
198
- count maxIterations = std::numeric_limits<count>::max()) const {
199
-
200
- const count n = rhsSize.first;
201
- const count m = rhsSize.second;
202
- const index numThreads = omp_get_max_threads();
203
-
204
- std::vector<Vector> results(numThreads, Vector(m));
205
- std::vector<Vector> RHSs(numThreads, Vector(m));
206
-
207
- #pragma omp parallel for
208
- for (omp_index i = 0; i < static_cast<omp_index>(n); ++i) {
209
- const index threadId = omp_get_thread_num();
210
-
211
- const Vector &rhs = rhsLoader(i, RHSs[threadId]);
212
- Vector &result = results[threadId];
213
-
214
- solveThread(rhs, result, maxConvergenceTime, maxIterations, threadId);
215
- resultProcessor(i, result);
216
- }
217
- }
218
- };
219
-
220
- template <class Matrix>
221
- void Lamg<Matrix>::initializeInternalDatastructures() const {
222
- // preconditions:
223
- // - numComponents is correct
224
- // - components vector is correct
225
- // - compHierarchies is setup
226
-
227
- // first, resize outer vectors
228
- // then iterate elements and initialize them correctly
229
-
230
- initialVectors.resize(omp_get_max_threads());
231
- rhsVectors.resize(omp_get_max_threads());
232
- compSolvers.resize(omp_get_max_threads());
233
- compStati.resize(omp_get_max_threads());
234
-
235
- #pragma omp parallel for
236
- for (int thread = 0; thread < omp_get_max_threads(); ++thread) {
237
- // resize inner vectors
238
- initialVectors[thread].resize(numComponents);
239
- rhsVectors[thread].resize(numComponents);
240
- compStati[thread].resize(numComponents);
241
-
242
- // there is no default constructor for SolverLamg - reserve memory and construct later
243
- compSolvers[thread].clear();
244
- compSolvers[thread].reserve(numComponents);
245
-
246
- // iterate components
247
- for (index compIdx = 0; compIdx < numComponents; ++compIdx) {
248
- auto &component = components[compIdx];
249
-
250
- // Vector objects do not have a resize method - create new objects instead
251
- initialVectors[thread][compIdx] = Vector(component.size());
252
- rhsVectors[thread][compIdx] = Vector(component.size());
253
-
254
- compSolvers[thread].emplace_back(compHierarchies[compIdx], smoother);
255
-
256
- LAMGSolverStatus status;
257
- status.desiredResidualReduction =
258
- this->tolerance * component.size() / laplacianMatrix.numberOfColumns();
259
- compStati[thread][compIdx] = status;
260
- }
261
- }
262
- }
263
-
264
- template <class Matrix>
265
- void Lamg<Matrix>::initializeOneComponent() {
266
- numComponents = 1;
267
- components.resize(1);
268
- components[0].resize(laplacianMatrix.numberOfColumns());
269
- std::iota(components[0].begin(), components[0].end(), 0);
270
- graph2Components.clear();
271
- compHierarchies = std::vector<LevelHierarchy<Matrix>>(1);
272
- lamgSetup.setup(laplacianMatrix, compHierarchies[0]);
273
- initializeInternalDatastructures();
274
- }
275
-
276
- template <class Matrix>
277
- void Lamg<Matrix>::initializeMultipleComponents(const Graph &G,
278
- const ComponentDecomposition &decomp) {
279
-
280
- numComponents = decomp.numberOfComponents();
281
-
282
- components.resize(numComponents);
283
- graph2Components.resize(G.numberOfNodes());
284
-
285
- compHierarchies.resize(numComponents);
286
-
287
- index compIdx = 0;
288
- for (const auto &partitionComponent : decomp.getPartition().getSubsets()) {
289
- components[compIdx].resize(partitionComponent.size());
290
- std::copy(partitionComponent.begin(), partitionComponent.end(),
291
- components[compIdx].begin());
292
-
293
- auto &component = components[compIdx];
294
-
295
- index idx = 0;
296
- for (node u : component) {
297
- graph2Components[u] = idx;
298
- idx++;
299
- }
300
-
301
- // it is not clear to me if LevelHierarchy can be reused for different matrices. Hence,
302
- // construct new objects
303
- compHierarchies[compIdx] = LevelHierarchy<Matrix>();
304
-
305
- // construct block matrix via neighborsOf in G
306
- std::vector<Triplet> triplets;
307
- for (node u : component) {
308
- G.forNeighborsOf(u, [&](node v, edgeweight w) {
309
- triplets.push_back({graph2Components[u], graph2Components[v], w});
310
- });
311
- }
312
- Matrix compMatrix(component.size(), component.size(), triplets);
313
- lamgSetup.setup(compMatrix, compHierarchies[compIdx]);
314
-
315
- ++compIdx;
316
- }
317
- initializeInternalDatastructures();
318
- }
319
-
320
- template <class Matrix>
321
- void Lamg<Matrix>::setupConnected(const Matrix &laplacianMatrix) {
322
- assert([&]() {
323
- auto G = MatrixTools::matrixToGraph(laplacianMatrix);
324
- ParallelConnectedComponents cc(G);
325
- cc.run();
326
- return cc.numberOfComponents() == 1;
327
- }());
328
- this->laplacianMatrix = laplacianMatrix;
329
- initializeOneComponent();
330
- validSetup = true;
331
- }
332
-
333
- template <class Matrix>
334
- void Lamg<Matrix>::setup(const Matrix &laplacianMatrix, const Graph &G,
335
- const ComponentDecomposition &decomp) {
336
- this->laplacianMatrix = laplacianMatrix;
337
- numComponents = decomp.numberOfComponents();
338
- if (numComponents == 1) {
339
- initializeOneComponent();
340
- } else {
341
- initializeMultipleComponents(G, decomp);
342
- }
343
- validSetup = true;
344
- }
345
-
346
- template <class Matrix>
347
- void Lamg<Matrix>::setup(const Graph &G, const ComponentDecomposition &decomp) {
348
- setup(Matrix::laplacianMatrix(G), G, decomp);
349
- }
350
-
351
- template <class Matrix>
352
- void Lamg<Matrix>::setup(const Graph &G) {
353
- setup(Matrix::laplacianMatrix(G), G);
354
- }
355
-
356
- template <class Matrix>
357
- void Lamg<Matrix>::setup(const Matrix &laplacianMatrix, const Graph &G) {
358
- ParallelConnectedComponents con(G, false);
359
- con.run();
360
- setup(laplacianMatrix, G, con);
361
- }
362
-
363
- template <class Matrix>
364
- void Lamg<Matrix>::setup(const Matrix &laplacianMatrix) {
365
- auto G = MatrixTools::matrixToGraph(laplacianMatrix);
366
- setup(laplacianMatrix, G);
367
- }
368
-
369
- template <class Matrix>
370
- SolverStatus Lamg<Matrix>::solveThread(const Vector &rhs, Vector &result, count maxConvergenceTime,
371
- count maxIterations, const index threadId) const {
372
- if (!validSetup)
373
- throw std::runtime_error("LAMG is not properly setup!");
374
- if (result.getDimension() != laplacianMatrix.numberOfColumns()
375
- || rhs.getDimension() != laplacianMatrix.numberOfRows()) {
376
- throw std::runtime_error("Wrong matrix dimensions for given vectors.");
377
- }
378
- SolverStatus status;
379
-
380
- if (numComponents == 1) {
381
- LAMGSolverStatus &stat = compStati[threadId][0];
382
- stat.desiredResidualReduction =
383
- this->tolerance * rhs.length() / (laplacianMatrix * result - rhs).length();
384
- stat.maxIters = maxIterations;
385
- stat.maxConvergenceTime = maxConvergenceTime;
386
- compSolvers[threadId][0].solve(result, rhs, stat);
387
-
388
- status.residual = stat.residual;
389
- status.numIters = stat.numIters;
390
- status.converged = stat.converged;
391
- } else {
392
- // solve on every component
393
- count maxIters = 0;
394
- for (index componentId = 0; componentId < components.size(); ++componentId) {
395
- LAMGSolverStatus &stat = compStati[threadId][componentId];
396
- Vector &componentRhs = rhsVectors[threadId][componentId];
397
- Vector &componentResult = initialVectors[threadId][componentId];
398
-
399
- // setup component vectors
400
- for (auto element : components[componentId]) {
401
- componentResult[graph2Components[element]] = result[element];
402
- componentRhs[graph2Components[element]] = rhs[element];
403
- }
404
-
405
- // setup solver status
406
- double resReduction =
407
- this->tolerance * componentRhs.length()
408
- / (compHierarchies[componentId].at(0).getLaplacian() * componentResult
409
- - componentRhs)
410
- .length();
411
- stat.desiredResidualReduction =
412
- resReduction * components[componentId].size() / laplacianMatrix.numberOfRows();
413
- stat.maxIters = maxIterations;
414
- stat.maxConvergenceTime = maxConvergenceTime;
415
-
416
- compSolvers[threadId][componentId].solve(componentResult, componentRhs, stat);
417
- // write solution back to result
418
- for (auto element : components[componentId]) {
419
- result[element] = componentResult[graph2Components[element]];
420
- }
421
-
422
- maxIters = std::max(maxIters, stat.numIters);
423
- }
424
-
425
- status.residual = (rhs - laplacianMatrix * result).length();
426
- status.converged = status.residual <= this->tolerance;
427
- status.numIters = maxIters;
428
- }
429
-
430
- return status;
431
- }
432
-
433
- template <class Matrix>
434
- SolverStatus Lamg<Matrix>::solve(const Vector &rhs, Vector &result, count maxConvergenceTime,
435
- count maxIterations) const {
436
- return solveThread(rhs, result, maxConvergenceTime, maxIterations, 0);
437
- }
438
-
439
- template <class Matrix>
440
- std::vector<SolverStatus>
441
- Lamg<Matrix>::parallelSolve(const std::vector<Vector> &rhs, std::vector<Vector> &results,
442
- count maxConvergenceTime, count maxIterations) const {
443
- std::vector<SolverStatus> stati(rhs.size());
444
-
445
- #pragma omp parallel for
446
- for (omp_index i = 0; i < static_cast<omp_index>(rhs.size()); ++i) {
447
- const index threadId = omp_get_thread_num();
448
- stati[i] = solveThread(rhs[i], results[i], maxConvergenceTime, maxIterations, threadId);
449
- }
450
-
451
- return stati;
452
- }
453
-
454
- extern template class Lamg<CSRMatrix>;
455
- extern template class Lamg<DenseMatrix>;
456
- extern template class Lamg<DynamicMatrix>;
457
-
458
- } /* namespace NetworKit */
459
-
460
- #endif // NETWORKIT_NUMERICS_LAMG_LAMG_HPP_
@@ -1,47 +0,0 @@
1
- /*
2
- * EliminationStage.hpp
3
- *
4
- * Created on: 09.01.2015
5
- * Author: Michael
6
- */
7
-
8
- #ifndef NETWORKIT_NUMERICS_LAMG_LEVEL_ELIMINATION_STAGE_HPP_
9
- #define NETWORKIT_NUMERICS_LAMG_LEVEL_ELIMINATION_STAGE_HPP_
10
-
11
- #include <networkit/algebraic/Vector.hpp>
12
-
13
- namespace NetworKit {
14
-
15
- /**
16
- * @ingroup numerics
17
- */
18
- template <class Matrix>
19
- class EliminationStage {
20
- private:
21
- Matrix P; // interpolation matrix
22
- Matrix R;
23
- Vector q; // coarse result correction vector
24
- std::vector<index> fSet;
25
- std::vector<index> cSet;
26
-
27
- public:
28
- EliminationStage(const Matrix &P, const Vector &q, const std::vector<index> &fSet,
29
- const std::vector<index> &cSet)
30
- : P(P), R(P.transpose()), q(q), fSet(fSet), cSet(cSet) {}
31
-
32
- inline const Matrix &getP() const { return P; }
33
-
34
- inline const Matrix &getR() const { return R; }
35
-
36
- inline const Vector &getQ() const { return q; }
37
-
38
- inline const std::vector<index> &getFSet() const { return fSet; }
39
-
40
- inline const std::vector<index> &getCSet() const { return cSet; }
41
-
42
- inline count getN() const { return fSet.size() + cSet.size(); }
43
- };
44
-
45
- } /* namespace NetworKit */
46
-
47
- #endif // NETWORKIT_NUMERICS_LAMG_LEVEL_ELIMINATION_STAGE_HPP_
@@ -1,56 +0,0 @@
1
- /*
2
- * Level.hpp
3
- *
4
- * Created on: 09.01.2015
5
- * Author: Michael
6
- */
7
-
8
- #ifndef NETWORKIT_NUMERICS_LAMG_LEVEL_LEVEL_HPP_
9
- #define NETWORKIT_NUMERICS_LAMG_LEVEL_LEVEL_HPP_
10
-
11
- #include <networkit/algebraic/CSRMatrix.hpp>
12
-
13
- namespace NetworKit {
14
-
15
- enum LevelType {
16
- FINEST, // original problem
17
- ELIMINATION, // lowdegree node elimination
18
- AGGREGATION, // aggregation of nodes with high affinity
19
- COARSEST // coarsest level
20
- };
21
-
22
- /**
23
- * @ingroup numerics
24
- * Abstract base class for an LAMG Level.
25
- */
26
- template <class Matrix>
27
- class Level {
28
- protected:
29
- LevelType type;
30
- Matrix A;
31
-
32
- public:
33
- Level(LevelType type) : type(type) {}
34
- Level(LevelType type, const Matrix &A) : type(type), A(A) {}
35
- virtual ~Level() {}
36
-
37
- inline const Matrix &getLaplacian() const { return A; }
38
-
39
- inline count getNumberOfNodes() const { return A.numberOfRows(); }
40
-
41
- virtual void coarseType(const Vector & /*xf*/, Vector & /*xc*/) const {}
42
-
43
- virtual void restrict(const Vector & /*bf*/, Vector & /*bc*/) const {}
44
-
45
- virtual void restrict(const Vector & /*bf*/, Vector & /*bc*/,
46
- std::vector<Vector> & /*bStages*/) const {}
47
-
48
- virtual void interpolate(const Vector & /*xc*/, Vector & /*xf*/) const {}
49
-
50
- virtual void interpolate(const Vector & /*xc*/, Vector & /*xf*/,
51
- const std::vector<Vector> & /*bStages*/) const {}
52
- };
53
-
54
- } /* namespace NetworKit */
55
-
56
- #endif // NETWORKIT_NUMERICS_LAMG_LEVEL_LEVEL_HPP_
@@ -1,52 +0,0 @@
1
- /*
2
- * LevelAggregation.hpp
3
- *
4
- * Created on: 10.01.2015
5
- * Author: Michael
6
- */
7
-
8
- #ifndef NETWORKIT_NUMERICS_LAMG_LEVEL_LEVEL_AGGREGATION_HPP_
9
- #define NETWORKIT_NUMERICS_LAMG_LEVEL_LEVEL_AGGREGATION_HPP_
10
-
11
- #include <networkit/numerics/LAMG/Level/Level.hpp>
12
-
13
- namespace NetworKit {
14
-
15
- /**
16
- * @ingroup numerics
17
- */
18
- template <class Matrix>
19
- class LevelAggregation : public Level<Matrix> {
20
- private:
21
- Matrix P; // interpolation matrix (n x nc)
22
- Matrix R; // restriction matrix (nc x n)
23
-
24
- public:
25
- LevelAggregation(const Matrix &A, const Matrix &P, const Matrix &R)
26
- : Level<Matrix>(LevelType::AGGREGATION, A), P(P), R(R) {}
27
-
28
- void coarseType(const Vector &xf, Vector &xc) const override;
29
-
30
- void restrict(const Vector &bf, Vector &bc) const override;
31
-
32
- void interpolate(const Vector &xc, Vector &xf) const override;
33
- };
34
-
35
- template <class Matrix>
36
- void LevelAggregation<Matrix>::coarseType(const Vector & /*xf*/, Vector &xc) const {
37
- xc = Vector(P.numberOfColumns(), 0.0);
38
- }
39
-
40
- template <class Matrix>
41
- void LevelAggregation<Matrix>::restrict(const Vector &bf, Vector &bc) const {
42
- bc = R * bf;
43
- }
44
-
45
- template <class Matrix>
46
- void LevelAggregation<Matrix>::interpolate(const Vector &xc, Vector &xf) const {
47
- xf = P * xc;
48
- }
49
-
50
- } /* namespace NetworKit */
51
-
52
- #endif // NETWORKIT_NUMERICS_LAMG_LEVEL_LEVEL_AGGREGATION_HPP_