@ladybugmem/icebug 0.1.0 → 0.1.2

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 +9 -15
  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,257 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/algorithm/multiway_merge_splitting.hpp
3
- *
4
- * Two splitting variants for balancing parallel multiway merge.
5
- *
6
- * Copied and modified from STXXL, see http://stxxl.org, which itself extracted
7
- * it from MCSTL http://algo2.iti.uni-karlsruhe.de/singler/mcstl/. Both are
8
- * distributed under the Boost Software License, Version 1.0.
9
- *
10
- * Part of tlx - http://panthema.net/tlx
11
- *
12
- * Copyright (C) 2007 Johannes Singler <singler@ira.uka.de>
13
- * Copyright (C) 2014-2018 Timo Bingmann <tb@panthema.net>
14
- *
15
- * All rights reserved. Published under the Boost Software License, Version 1.0
16
- ******************************************************************************/
17
-
18
- #ifndef TLX_ALGORITHM_MULTIWAY_MERGE_SPLITTING_HEADER
19
- #define TLX_ALGORITHM_MULTIWAY_MERGE_SPLITTING_HEADER
20
-
21
- #include <tlx/algorithm/multisequence_partition.hpp>
22
- #include <tlx/container/simple_vector.hpp>
23
- #include <algorithm>
24
- #include <cstddef>
25
- #include <iterator>
26
- #include <vector>
27
-
28
- namespace tlx {
29
-
30
- //! \addtogroup tlx_algorithm
31
- //! \{
32
-
33
- /*!
34
- * Different splitting strategies for sorting/merging: by sampling, exact
35
- */
36
- enum MultiwayMergeSplittingAlgorithm
37
- {
38
- MWMSA_SAMPLING,
39
- MWMSA_EXACT,
40
- MWMSA_LAST,
41
- MWMSA_DEFAULT = MWMSA_EXACT
42
- };
43
-
44
- namespace multiway_merge_detail {
45
-
46
- /*!
47
- * Split a sequence into parts of almost equal size.
48
- *
49
- * The resulting sequence s of length p+1 contains the splitting positions when
50
- * splitting the range [0,n) into parts of almost equal size (plus minus 1).
51
- * The first entry is 0, the last one n. There may result empty parts.
52
- *
53
- * \param n Number of elements
54
- * \param p Number of parts
55
- * \param s Splitters
56
- * \returns End of splitter sequence, i. e. \c s+p+1
57
- */
58
- template <typename DiffType, typename DiffTypeOutputIterator>
59
- DiffTypeOutputIterator equally_split(DiffType n, size_t p,
60
- DiffTypeOutputIterator s)
61
- {
62
- DiffType chunk_length = n / p, split = n % p, start = 0;
63
- for (size_t i = 0; i < p; i++)
64
- {
65
- *s++ = start;
66
- start += (static_cast<DiffType>(i) < split) ? (chunk_length + 1) :
67
- chunk_length;
68
- if (start >= n)
69
- start = n - 1;
70
- }
71
- *s++ = n;
72
-
73
- return s;
74
- }
75
-
76
- } // namespace multiway_merge_detail
77
-
78
- /*!
79
- * Splitting method for parallel multi-way merge routine: use sampling and
80
- * binary search for in-exact splitting.
81
- *
82
- * \param seqs_begin Begin iterator of iterator pair input sequence.
83
- * \param seqs_end End iterator of iterator pair input sequence.
84
- * \param size Maximum size to merge.
85
- * \param total_size Total size of all sequences combined.
86
- * \param comp Comparator.
87
- * \param chunks Output subsequences for num_threads.
88
- * \param num_threads Split the sequences into for num_threads.
89
- * \param merge_oversampling oversampling factor
90
- * \tparam Stable Stable merging incurs a performance penalty.
91
- * \return End iterator of output sequence.
92
- */
93
- template <bool Stable, typename RandomAccessIteratorIterator,
94
- typename Comparator>
95
- void multiway_merge_sampling_splitting(
96
- const RandomAccessIteratorIterator& seqs_begin,
97
- const RandomAccessIteratorIterator& seqs_end,
98
- typename std::iterator_traits<typename std::iterator_traits<
99
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
100
- size,
101
- typename std::iterator_traits<typename std::iterator_traits<
102
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
103
- total_size,
104
- Comparator comp,
105
- std::vector<typename std::iterator_traits<
106
- RandomAccessIteratorIterator>::value_type>* chunks,
107
- const size_t num_threads, const size_t merge_oversampling)
108
- {
109
- using RandomAccessIterator = typename std::iterator_traits<
110
- RandomAccessIteratorIterator>::value_type::first_type;
111
- using value_type =
112
- typename std::iterator_traits<RandomAccessIterator>::value_type;
113
- using DiffType =
114
- typename std::iterator_traits<RandomAccessIterator>::difference_type;
115
-
116
- const DiffType num_seqs = seqs_end - seqs_begin;
117
- const DiffType num_samples =
118
- num_threads * static_cast<DiffType>(merge_oversampling);
119
-
120
- // pick samples
121
- simple_vector<value_type> samples(num_seqs * num_samples);
122
-
123
- for (DiffType s = 0; s < num_seqs; ++s)
124
- {
125
- for (DiffType i = 0; i < num_samples; ++i)
126
- {
127
- DiffType sample_index = static_cast<DiffType>(
128
- double(seqs_begin[s].second - seqs_begin[s].first) *
129
- (double(i + 1) / double(num_samples + 1)) *
130
- (double(size) / double(total_size)));
131
- samples[s * num_samples + i] = seqs_begin[s].first[sample_index];
132
- }
133
- }
134
-
135
- if (Stable)
136
- std::stable_sort(samples.begin(), samples.end(), comp);
137
- else
138
- std::sort(samples.begin(), samples.end(), comp);
139
-
140
- // for each processor
141
- for (size_t slab = 0; slab < num_threads; ++slab)
142
- {
143
- // for each sequence
144
- for (DiffType seq = 0; seq < num_seqs; ++seq)
145
- {
146
- if (slab > 0)
147
- {
148
- chunks[slab][static_cast<size_t>(seq)].first = std::upper_bound(
149
- seqs_begin[seq].first, seqs_begin[seq].second,
150
- samples[num_samples * num_seqs * slab / num_threads], comp);
151
- }
152
- else // absolute beginning
153
- chunks[slab][static_cast<size_t>(seq)].first =
154
- seqs_begin[seq].first;
155
-
156
- if ((slab + 1) < num_threads)
157
- {
158
- chunks[slab][static_cast<size_t>(seq)]
159
- .second = std::upper_bound(
160
- seqs_begin[seq].first, seqs_begin[seq].second,
161
- samples[num_samples * num_seqs * (slab + 1) / num_threads],
162
- comp);
163
- }
164
- else // absolute ending
165
- chunks[slab][static_cast<size_t>(seq)].second =
166
- seqs_begin[seq].second;
167
- }
168
- }
169
- }
170
-
171
- /*!
172
- * Splitting method for parallel multi-way merge routine: use multisequence
173
- * selection for exact splitting.
174
- *
175
- * \param seqs_begin Begin iterator of iterator pair input sequence.
176
- * \param seqs_end End iterator of iterator pair input sequence.
177
- * \param size Maximum size to merge.
178
- * \param total_size Total size of all sequences combined.
179
- * \param comp Comparator.
180
- * \param chunks Output subsequences for num_threads.
181
- * \param num_threads Split the sequences into for num_threads.
182
- * \tparam Stable Stable merging incurs a performance penalty.
183
- * \return End iterator of output sequence.
184
- */
185
- template <bool Stable, typename RandomAccessIteratorIterator,
186
- typename Comparator>
187
- void multiway_merge_exact_splitting(
188
- const RandomAccessIteratorIterator& seqs_begin,
189
- const RandomAccessIteratorIterator& seqs_end,
190
- typename std::iterator_traits<typename std::iterator_traits<
191
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
192
- size,
193
- typename std::iterator_traits<typename std::iterator_traits<
194
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
195
- total_size,
196
- Comparator comp,
197
- std::vector<typename std::iterator_traits<
198
- RandomAccessIteratorIterator>::value_type>* chunks,
199
- const size_t num_threads)
200
- {
201
- using RandomAccessIteratorPair =
202
- typename std::iterator_traits<RandomAccessIteratorIterator>::value_type;
203
- using RandomAccessIterator = typename RandomAccessIteratorPair ::first_type;
204
- using DiffType =
205
- typename std::iterator_traits<RandomAccessIterator>::difference_type;
206
-
207
- const size_t num_seqs = static_cast<size_t>(seqs_end - seqs_begin);
208
- const bool tight = (total_size == size);
209
-
210
- simple_vector<std::vector<RandomAccessIterator> > offsets(num_threads);
211
-
212
- std::vector<DiffType> ranks(static_cast<size_t>(num_threads + 1));
213
- multiway_merge_detail::equally_split(size, num_threads, ranks.begin());
214
-
215
- for (size_t s = 0; s < (num_threads - 1); ++s)
216
- {
217
- offsets[s].resize(num_seqs);
218
- multisequence_partition(seqs_begin, seqs_end,
219
- ranks[static_cast<size_t>(s + 1)],
220
- offsets[s].begin(), comp);
221
-
222
- if (!tight) // last one also needed and available
223
- {
224
- offsets[num_threads - 1].resize(num_seqs);
225
- multisequence_partition(seqs_begin, seqs_end, size,
226
- offsets[num_threads - 1].begin(), comp);
227
- }
228
- }
229
-
230
- // for each processor
231
- for (size_t slab = 0; slab < num_threads; ++slab)
232
- {
233
- // for each sequence
234
- for (size_t s = 0; s < num_seqs; ++s)
235
- {
236
- if (slab == 0) // absolute beginning
237
- chunks[slab][s].first =
238
- seqs_begin[static_cast<DiffType>(s)].first;
239
- else
240
- chunks[slab][s].first = offsets[slab - 1][s];
241
-
242
- if (!tight || slab < (num_threads - 1))
243
- chunks[slab][s].second = offsets[slab][s];
244
- else // slab == num_threads - 1
245
- chunks[slab][s].second =
246
- seqs_begin[static_cast<DiffType>(s)].second;
247
- }
248
- }
249
- }
250
-
251
- //! \}
252
-
253
- } // namespace tlx
254
-
255
- #endif // !TLX_ALGORITHM_MULTIWAY_MERGE_SPLITTING_HEADER
256
-
257
- /******************************************************************************/
@@ -1,408 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/algorithm/parallel_multiway_merge.hpp
3
- *
4
- * Parallel multiway merge.
5
- *
6
- * Copied and modified from STXXL, see http://stxxl.org, which itself extracted
7
- * it from MCSTL http://algo2.iti.uni-karlsruhe.de/singler/mcstl/. Both are
8
- * distributed under the Boost Software License, Version 1.0.
9
- *
10
- * Part of tlx - http://panthema.net/tlx
11
- *
12
- * Copyright (C) 2007 Johannes Singler <singler@ira.uka.de>
13
- * Copyright (C) 2014-2018 Timo Bingmann <tb@panthema.net>
14
- *
15
- * All rights reserved. Published under the Boost Software License, Version 1.0
16
- ******************************************************************************/
17
-
18
- #ifndef TLX_ALGORITHM_PARALLEL_MULTIWAY_MERGE_HEADER
19
- #define TLX_ALGORITHM_PARALLEL_MULTIWAY_MERGE_HEADER
20
-
21
- #include <algorithm>
22
- #include <cstddef>
23
- #include <functional>
24
- #include <iterator>
25
- #include <thread>
26
- #include <vector>
27
-
28
- #if defined(_OPENMP)
29
- #include <omp.h>
30
- #endif
31
-
32
- #include <tlx/algorithm/multiway_merge.hpp>
33
- #include <tlx/algorithm/multiway_merge_splitting.hpp>
34
- #include <tlx/container/simple_vector.hpp>
35
-
36
- namespace tlx {
37
-
38
- //! \addtogroup tlx_algorithm
39
- //! \{
40
-
41
- //! default oversampling factor for parallel_multiway_merge
42
- extern size_t parallel_multiway_merge_oversampling;
43
-
44
- /*!
45
- * Parallel multi-way merge routine.
46
- *
47
- * Implemented either using OpenMP or with std::threads, depending on if
48
- * compiled with -fopenmp or not. The OpenMP version uses the implicit thread
49
- * pool, which is faster when using this method often.
50
- *
51
- * \param seqs_begin Begin iterator of iterator pair input sequence.
52
- * \param seqs_end End iterator of iterator pair input sequence.
53
- * \param target Begin iterator out output sequence.
54
- * \param size Maximum size to merge.
55
- * \param comp Comparator.
56
- * \param mwma MultiwayMergeAlgorithm set to use.
57
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
58
- * \param num_threads Number of threads to use (defaults to all cores)
59
- * \tparam Stable Stable merging incurs a performance penalty.
60
- * \return End iterator of output sequence.
61
- */
62
- template <bool Stable, typename RandomAccessIteratorIterator,
63
- typename RandomAccessIterator3,
64
- typename Comparator = std::less<typename std::iterator_traits<
65
- typename std::iterator_traits<RandomAccessIteratorIterator>::
66
- value_type::first_type>::value_type> >
67
- RandomAccessIterator3 parallel_multiway_merge_base(
68
- RandomAccessIteratorIterator seqs_begin,
69
- RandomAccessIteratorIterator seqs_end, RandomAccessIterator3 target,
70
- const typename std::iterator_traits<typename std::iterator_traits<
71
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
72
- size,
73
- Comparator comp = Comparator(),
74
- MultiwayMergeAlgorithm mwma = MWMA_ALGORITHM_DEFAULT,
75
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT,
76
- size_t num_threads = std::thread::hardware_concurrency())
77
- {
78
- using RandomAccessIteratorPair =
79
- typename std::iterator_traits<RandomAccessIteratorIterator>::value_type;
80
- using RandomAccessIterator = typename RandomAccessIteratorPair::first_type;
81
- using DiffType =
82
- typename std::iterator_traits<RandomAccessIterator>::difference_type;
83
-
84
- // leave only non-empty sequences
85
- std::vector<RandomAccessIteratorPair> seqs_ne;
86
- seqs_ne.reserve(static_cast<size_t>(seqs_end - seqs_begin));
87
- DiffType total_size = 0;
88
-
89
- for (RandomAccessIteratorIterator ii = seqs_begin; ii != seqs_end; ++ii)
90
- {
91
- if (ii->first != ii->second)
92
- {
93
- total_size += ii->second - ii->first;
94
- seqs_ne.push_back(*ii);
95
- }
96
- }
97
-
98
- size_t num_seqs = seqs_ne.size();
99
-
100
- if (total_size == 0 || num_seqs == 0)
101
- return target;
102
-
103
- if (static_cast<DiffType>(num_threads) > total_size)
104
- num_threads = total_size;
105
-
106
- // thread t will have to merge chunks[iam][0..k - 1]
107
-
108
- simple_vector<std::vector<RandomAccessIteratorPair> > chunks(num_threads);
109
-
110
- for (size_t s = 0; s < num_threads; ++s)
111
- chunks[s].resize(num_seqs);
112
-
113
- if (mwmsa == MWMSA_SAMPLING)
114
- {
115
- multiway_merge_sampling_splitting<Stable>(
116
- seqs_ne.begin(), seqs_ne.end(), static_cast<DiffType>(size),
117
- total_size, comp, chunks.data(), num_threads,
118
- parallel_multiway_merge_oversampling);
119
- }
120
- else // (mwmsa == MWMSA_EXACT)
121
- {
122
- multiway_merge_exact_splitting<Stable>(
123
- seqs_ne.begin(), seqs_ne.end(), static_cast<DiffType>(size),
124
- total_size, comp, chunks.data(), num_threads);
125
- }
126
-
127
- #if defined(_OPENMP)
128
- #pragma omp parallel num_threads(num_threads)
129
- {
130
- size_t iam = omp_get_thread_num();
131
-
132
- DiffType target_position = 0, local_size = 0;
133
-
134
- for (size_t s = 0; s < num_seqs; ++s)
135
- {
136
- target_position += chunks[iam][s].first - seqs_ne[s].first;
137
- local_size += chunks[iam][s].second - chunks[iam][s].first;
138
- }
139
-
140
- multiway_merge_base<Stable, false>(
141
- chunks[iam].begin(), chunks[iam].end(), target + target_position,
142
- std::min(local_size, static_cast<DiffType>(size) - target_position),
143
- comp, mwma);
144
- }
145
- #else
146
- std::vector<std::thread> threads(num_threads);
147
-
148
- for (size_t iam = 0; iam < num_threads; ++iam)
149
- {
150
- threads[iam] = std::thread([&, iam]() {
151
- DiffType target_position = 0, local_size = 0;
152
-
153
- for (size_t s = 0; s < num_seqs; ++s)
154
- {
155
- target_position += chunks[iam][s].first - seqs_ne[s].first;
156
- local_size += chunks[iam][s].second - chunks[iam][s].first;
157
- }
158
-
159
- multiway_merge_base<Stable, false>(
160
- chunks[iam].begin(), chunks[iam].end(),
161
- target + target_position,
162
- std::min(local_size,
163
- static_cast<DiffType>(size) - target_position),
164
- comp, mwma);
165
- });
166
- }
167
-
168
- for (size_t i = 0; i < num_threads; ++i)
169
- threads[i].join();
170
- #endif
171
-
172
- // update ends of sequences
173
- size_t count_seqs = 0;
174
- for (RandomAccessIteratorIterator ii = seqs_begin; ii != seqs_end; ++ii)
175
- {
176
- if (ii->first != ii->second)
177
- ii->first = chunks[num_threads - 1][count_seqs++].second;
178
- }
179
-
180
- return target + size;
181
- }
182
-
183
- /******************************************************************************/
184
- // parallel_multiway_merge() Frontends
185
-
186
- //! setting to force all parallel_multiway_merge() calls to run sequentially
187
- extern bool parallel_multiway_merge_force_sequential;
188
-
189
- //! setting to force parallel_multiway_merge() calls to run with parallel code
190
- extern bool parallel_multiway_merge_force_parallel;
191
-
192
- //! minimal number of sequences for switching to parallel merging
193
- extern size_t parallel_multiway_merge_minimal_k;
194
-
195
- //! minimal number of items for switching to parallel merging
196
- extern size_t parallel_multiway_merge_minimal_n;
197
-
198
- /*!
199
- * Parallel multi-way merge routine.
200
- *
201
- * Implemented either using OpenMP or with std::threads, depending on if
202
- * compiled with -fopenmp or not. The OpenMP version uses the implicit thread
203
- * pool, which is faster when using this method often.
204
- *
205
- * \param seqs_begin Begin iterator of iterator pair input sequence.
206
- * \param seqs_end End iterator of iterator pair input sequence.
207
- * \param target Begin iterator out output sequence.
208
- * \param size Maximum size to merge.
209
- * \param comp Comparator.
210
- * \param mwma MultiwayMergeAlgorithm set to use.
211
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
212
- * \param num_threads Number of threads to use (defaults to all cores)
213
- * \tparam Stable Stable merging incurs a performance penalty.
214
- * \return End iterator of output sequence.
215
- */
216
- template <typename RandomAccessIteratorIterator, typename RandomAccessIterator3,
217
- typename Comparator = std::less<typename std::iterator_traits<
218
- typename std::iterator_traits<RandomAccessIteratorIterator>::
219
- value_type::first_type>::value_type> >
220
- RandomAccessIterator3 parallel_multiway_merge(
221
- RandomAccessIteratorIterator seqs_begin,
222
- RandomAccessIteratorIterator seqs_end, RandomAccessIterator3 target,
223
- const typename std::iterator_traits<typename std::iterator_traits<
224
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
225
- size,
226
- Comparator comp = Comparator(),
227
- MultiwayMergeAlgorithm mwma = MWMA_ALGORITHM_DEFAULT,
228
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT,
229
- size_t num_threads = std::thread::hardware_concurrency())
230
- {
231
- if (seqs_begin == seqs_end)
232
- return target;
233
-
234
- if (!parallel_multiway_merge_force_sequential &&
235
- (parallel_multiway_merge_force_parallel ||
236
- (num_threads > 1 &&
237
- (static_cast<size_t>(seqs_end - seqs_begin) >=
238
- parallel_multiway_merge_minimal_k) &&
239
- static_cast<size_t>(size) >= parallel_multiway_merge_minimal_n)))
240
- {
241
- return parallel_multiway_merge_base</* Stable */ false>(
242
- seqs_begin, seqs_end, target, size, comp, mwma, mwmsa, num_threads);
243
- }
244
-
245
- return multiway_merge_base</* Stable */ false, /* Sentinels */ false>(
246
- seqs_begin, seqs_end, target, size, comp, mwma);
247
- }
248
-
249
- /*!
250
- * Stable parallel multi-way merge routine.
251
- *
252
- * Implemented either using OpenMP or with std::threads, depending on if
253
- * compiled with -fopenmp or not. The OpenMP version uses the implicit thread
254
- * pool, which is faster when using this method often.
255
- *
256
- * \param seqs_begin Begin iterator of iterator pair input sequence.
257
- * \param seqs_end End iterator of iterator pair input sequence.
258
- * \param target Begin iterator out output sequence.
259
- * \param size Maximum size to merge.
260
- * \param comp Comparator.
261
- * \param mwma MultiwayMergeAlgorithm set to use.
262
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
263
- * \param num_threads Number of threads to use (defaults to all cores)
264
- * \tparam Stable Stable merging incurs a performance penalty.
265
- * \return End iterator of output sequence.
266
- */
267
- template <typename RandomAccessIteratorIterator, typename RandomAccessIterator3,
268
- typename Comparator = std::less<typename std::iterator_traits<
269
- typename std::iterator_traits<RandomAccessIteratorIterator>::
270
- value_type::first_type>::value_type> >
271
- RandomAccessIterator3 stable_parallel_multiway_merge(
272
- RandomAccessIteratorIterator seqs_begin,
273
- RandomAccessIteratorIterator seqs_end, RandomAccessIterator3 target,
274
- const typename std::iterator_traits<typename std::iterator_traits<
275
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
276
- size,
277
- Comparator comp = Comparator(),
278
- MultiwayMergeAlgorithm mwma = MWMA_ALGORITHM_DEFAULT,
279
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT,
280
- size_t num_threads = std::thread::hardware_concurrency())
281
- {
282
- if (seqs_begin == seqs_end)
283
- return target;
284
-
285
- if (!parallel_multiway_merge_force_sequential &&
286
- (parallel_multiway_merge_force_parallel ||
287
- (num_threads > 1 &&
288
- (static_cast<size_t>(seqs_end - seqs_begin) >=
289
- parallel_multiway_merge_minimal_k) &&
290
- static_cast<size_t>(size) >= parallel_multiway_merge_minimal_n)))
291
- {
292
- return parallel_multiway_merge_base</* Stable */ true>(
293
- seqs_begin, seqs_end, target, size, comp, mwma, mwmsa, num_threads);
294
- }
295
-
296
- return multiway_merge_base</* Stable */ true, /* Sentinels */ false>(
297
- seqs_begin, seqs_end, target, size, comp, mwma);
298
- }
299
-
300
- /*!
301
- * Parallel multi-way merge routine with sentinels.
302
- *
303
- * Implemented either using OpenMP or with std::threads, depending on if
304
- * compiled with -fopenmp or not. The OpenMP version uses the implicit thread
305
- * pool, which is faster when using this method often.
306
- *
307
- * \param seqs_begin Begin iterator of iterator pair input sequence.
308
- * \param seqs_end End iterator of iterator pair input sequence.
309
- * \param target Begin iterator out output sequence.
310
- * \param size Maximum size to merge.
311
- * \param comp Comparator.
312
- * \param mwma MultiwayMergeAlgorithm set to use.
313
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
314
- * \param num_threads Number of threads to use (defaults to all cores)
315
- * \tparam Stable Stable merging incurs a performance penalty.
316
- * \return End iterator of output sequence.
317
- */
318
- template <typename RandomAccessIteratorIterator, typename RandomAccessIterator3,
319
- typename Comparator = std::less<typename std::iterator_traits<
320
- typename std::iterator_traits<RandomAccessIteratorIterator>::
321
- value_type::first_type>::value_type> >
322
- RandomAccessIterator3 parallel_multiway_merge_sentinels(
323
- RandomAccessIteratorIterator seqs_begin,
324
- RandomAccessIteratorIterator seqs_end, RandomAccessIterator3 target,
325
- const typename std::iterator_traits<typename std::iterator_traits<
326
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
327
- size,
328
- Comparator comp = Comparator(),
329
- MultiwayMergeAlgorithm mwma = MWMA_ALGORITHM_DEFAULT,
330
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT,
331
- size_t num_threads = std::thread::hardware_concurrency())
332
- {
333
- if (seqs_begin == seqs_end)
334
- return target;
335
-
336
- if (!parallel_multiway_merge_force_sequential &&
337
- (parallel_multiway_merge_force_parallel ||
338
- (num_threads > 1 &&
339
- (static_cast<size_t>(seqs_end - seqs_begin) >=
340
- parallel_multiway_merge_minimal_k) &&
341
- static_cast<size_t>(size) >= parallel_multiway_merge_minimal_n)))
342
- {
343
- return parallel_multiway_merge_base</* Stable */ false>(
344
- seqs_begin, seqs_end, target, size, comp, mwma, mwmsa, num_threads);
345
- }
346
-
347
- return multiway_merge_base</* Stable */ false, /* Sentinels */ true>(
348
- seqs_begin, seqs_end, target, size, comp, mwma);
349
- }
350
-
351
- /*!
352
- * Stable parallel multi-way merge routine with sentinels.
353
- *
354
- * Implemented either using OpenMP or with std::threads, depending on if
355
- * compiled with -fopenmp or not. The OpenMP version uses the implicit thread
356
- * pool, which is faster when using this method often.
357
- *
358
- * \param seqs_begin Begin iterator of iterator pair input sequence.
359
- * \param seqs_end End iterator of iterator pair input sequence.
360
- * \param target Begin iterator out output sequence.
361
- * \param size Maximum size to merge.
362
- * \param comp Comparator.
363
- * \param mwma MultiwayMergeAlgorithm set to use.
364
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
365
- * \param num_threads Number of threads to use (defaults to all cores)
366
- * \tparam Stable Stable merging incurs a performance penalty.
367
- * \return End iterator of output sequence.
368
- */
369
- template <typename RandomAccessIteratorIterator, typename RandomAccessIterator3,
370
- typename Comparator = std::less<typename std::iterator_traits<
371
- typename std::iterator_traits<RandomAccessIteratorIterator>::
372
- value_type::first_type>::value_type> >
373
- RandomAccessIterator3 stable_parallel_multiway_merge_sentinels(
374
- RandomAccessIteratorIterator seqs_begin,
375
- RandomAccessIteratorIterator seqs_end, RandomAccessIterator3 target,
376
- const typename std::iterator_traits<typename std::iterator_traits<
377
- RandomAccessIteratorIterator>::value_type::first_type>::difference_type
378
- size,
379
- Comparator comp = Comparator(),
380
- MultiwayMergeAlgorithm mwma = MWMA_ALGORITHM_DEFAULT,
381
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT,
382
- size_t num_threads = std::thread::hardware_concurrency())
383
- {
384
- if (seqs_begin == seqs_end)
385
- return target;
386
-
387
- if (!parallel_multiway_merge_force_sequential &&
388
- (parallel_multiway_merge_force_parallel ||
389
- (num_threads > 1 &&
390
- (static_cast<size_t>(seqs_end - seqs_begin) >=
391
- parallel_multiway_merge_minimal_k) &&
392
- static_cast<size_t>(size) >= parallel_multiway_merge_minimal_n)))
393
- {
394
- return parallel_multiway_merge_base</* Stable */ true>(
395
- seqs_begin, seqs_end, target, size, comp, mwma, mwmsa, num_threads);
396
- }
397
-
398
- return multiway_merge_base</* Stable */ true, /* Sentinels */ true>(
399
- seqs_begin, seqs_end, target, size, comp, mwma);
400
- }
401
-
402
- //! \}
403
-
404
- } // namespace tlx
405
-
406
- #endif // !TLX_ALGORITHM_PARALLEL_MULTIWAY_MERGE_HEADER
407
-
408
- /******************************************************************************/