@ladybugmem/icebug 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/README.md +14 -0
  2. package/binding.gyp +54 -0
  3. package/build/Release/.deps/Release/icebug.node.d +1 -0
  4. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +291 -0
  5. package/build/Release/icebug.node +0 -0
  6. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  7. package/lib/index.d.ts +361 -0
  8. package/lib/index.js +102 -0
  9. package/package.json +42 -0
  10. package/src/addon.cpp +1253 -0
  11. package/vendor/include/networkit/GlobalState.hpp +86 -0
  12. package/vendor/include/networkit/Globals.hpp +41 -0
  13. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +27 -0
  14. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +1292 -0
  15. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +11 -0
  16. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +537 -0
  17. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +514 -0
  18. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +323 -0
  19. package/vendor/include/networkit/algebraic/MatrixTools.hpp +156 -0
  20. package/vendor/include/networkit/algebraic/Semirings.hpp +171 -0
  21. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +111 -0
  22. package/vendor/include/networkit/algebraic/Vector.hpp +371 -0
  23. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +72 -0
  24. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +88 -0
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +96 -0
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +145 -0
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +122 -0
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +76 -0
  29. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +113 -0
  30. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +85 -0
  31. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +70 -0
  32. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +142 -0
  33. package/vendor/include/networkit/auxiliary/Enforce.hpp +117 -0
  34. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +74 -0
  35. package/vendor/include/networkit/auxiliary/HashUtils.hpp +28 -0
  36. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +52 -0
  37. package/vendor/include/networkit/auxiliary/Log.hpp +119 -0
  38. package/vendor/include/networkit/auxiliary/MissingMath.hpp +48 -0
  39. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +17 -0
  40. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +307 -0
  41. package/vendor/include/networkit/auxiliary/NumericTools.hpp +57 -0
  42. package/vendor/include/networkit/auxiliary/Parallel.hpp +56 -0
  43. package/vendor/include/networkit/auxiliary/Parallelism.hpp +33 -0
  44. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +252 -0
  45. package/vendor/include/networkit/auxiliary/Random.hpp +122 -0
  46. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +72 -0
  47. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +39 -0
  48. package/vendor/include/networkit/auxiliary/SortedList.hpp +128 -0
  49. package/vendor/include/networkit/auxiliary/SparseVector.hpp +215 -0
  50. package/vendor/include/networkit/auxiliary/SpinLock.hpp +23 -0
  51. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +322 -0
  52. package/vendor/include/networkit/auxiliary/StringTools.hpp +76 -0
  53. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +76 -0
  54. package/vendor/include/networkit/auxiliary/Timer.hpp +145 -0
  55. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +32 -0
  56. package/vendor/include/networkit/base/Algorithm.hpp +41 -0
  57. package/vendor/include/networkit/base/DynAlgorithm.hpp +31 -0
  58. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +62 -0
  59. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +136 -0
  60. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +156 -0
  61. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +124 -0
  62. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +84 -0
  63. package/vendor/include/networkit/centrality/Betweenness.hpp +47 -0
  64. package/vendor/include/networkit/centrality/Centrality.hpp +98 -0
  65. package/vendor/include/networkit/centrality/Closeness.hpp +107 -0
  66. package/vendor/include/networkit/centrality/ComplexPaths.hpp +113 -0
  67. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +161 -0
  68. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +55 -0
  69. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +95 -0
  70. package/vendor/include/networkit/centrality/DynBetweenness.hpp +99 -0
  71. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +98 -0
  72. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +115 -0
  73. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +223 -0
  74. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +41 -0
  75. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +51 -0
  76. package/vendor/include/networkit/centrality/ForestCentrality.hpp +112 -0
  77. package/vendor/include/networkit/centrality/GedWalk.hpp +225 -0
  78. package/vendor/include/networkit/centrality/GroupCloseness.hpp +115 -0
  79. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +78 -0
  80. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +77 -0
  81. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +106 -0
  82. package/vendor/include/networkit/centrality/GroupDegree.hpp +155 -0
  83. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +83 -0
  84. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +48 -0
  85. package/vendor/include/networkit/centrality/KPathCentrality.hpp +52 -0
  86. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +242 -0
  87. package/vendor/include/networkit/centrality/KatzCentrality.hpp +62 -0
  88. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +44 -0
  89. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +60 -0
  90. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +43 -0
  91. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +42 -0
  92. package/vendor/include/networkit/centrality/PageRank.hpp +101 -0
  93. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +48 -0
  94. package/vendor/include/networkit/centrality/Sfigality.hpp +45 -0
  95. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +86 -0
  96. package/vendor/include/networkit/centrality/TopCloseness.hpp +136 -0
  97. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +151 -0
  98. package/vendor/include/networkit/clique/MaximalCliques.hpp +83 -0
  99. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +59 -0
  100. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +156 -0
  101. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +57 -0
  102. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +43 -0
  103. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +33 -0
  104. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +62 -0
  105. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +31 -0
  106. package/vendor/include/networkit/community/ClusteringGenerator.hpp +75 -0
  107. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +58 -0
  108. package/vendor/include/networkit/community/Conductance.hpp +32 -0
  109. package/vendor/include/networkit/community/CoverF1Similarity.hpp +53 -0
  110. package/vendor/include/networkit/community/CoverHubDominance.hpp +38 -0
  111. package/vendor/include/networkit/community/Coverage.hpp +25 -0
  112. package/vendor/include/networkit/community/CutClustering.hpp +62 -0
  113. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +31 -0
  114. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +44 -0
  115. package/vendor/include/networkit/community/EdgeCut.hpp +24 -0
  116. package/vendor/include/networkit/community/GraphClusteringTools.hpp +103 -0
  117. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +28 -0
  118. package/vendor/include/networkit/community/HubDominance.hpp +46 -0
  119. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +44 -0
  120. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +40 -0
  121. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +40 -0
  122. package/vendor/include/networkit/community/JaccardMeasure.hpp +25 -0
  123. package/vendor/include/networkit/community/LFM.hpp +49 -0
  124. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +48 -0
  125. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +100 -0
  126. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +31 -0
  127. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +31 -0
  128. package/vendor/include/networkit/community/LouvainMapEquation.hpp +135 -0
  129. package/vendor/include/networkit/community/Modularity.hpp +54 -0
  130. package/vendor/include/networkit/community/NMIDistance.hpp +28 -0
  131. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +27 -0
  132. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +51 -0
  133. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +175 -0
  134. package/vendor/include/networkit/community/PLM.hpp +89 -0
  135. package/vendor/include/networkit/community/PLP.hpp +83 -0
  136. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +37 -0
  137. package/vendor/include/networkit/community/ParallelLeiden.hpp +96 -0
  138. package/vendor/include/networkit/community/ParallelLeidenView.hpp +138 -0
  139. package/vendor/include/networkit/community/PartitionFragmentation.hpp +30 -0
  140. package/vendor/include/networkit/community/PartitionHubDominance.hpp +37 -0
  141. package/vendor/include/networkit/community/PartitionIntersection.hpp +25 -0
  142. package/vendor/include/networkit/community/QualityMeasure.hpp +27 -0
  143. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +40 -0
  144. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +40 -0
  145. package/vendor/include/networkit/community/StablePartitionNodes.hpp +48 -0
  146. package/vendor/include/networkit/components/BiconnectedComponents.hpp +116 -0
  147. package/vendor/include/networkit/components/ComponentDecomposition.hpp +72 -0
  148. package/vendor/include/networkit/components/ConnectedComponents.hpp +55 -0
  149. package/vendor/include/networkit/components/DynConnectedComponents.hpp +71 -0
  150. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +73 -0
  151. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +44 -0
  152. package/vendor/include/networkit/components/RandomSpanningForest.hpp +36 -0
  153. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +50 -0
  154. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +59 -0
  155. package/vendor/include/networkit/correlation/Assortativity.hpp +64 -0
  156. package/vendor/include/networkit/distance/APSP.hpp +70 -0
  157. package/vendor/include/networkit/distance/AStar.hpp +68 -0
  158. package/vendor/include/networkit/distance/AStarGeneral.hpp +110 -0
  159. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +52 -0
  160. package/vendor/include/networkit/distance/AffectedNodes.hpp +130 -0
  161. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +63 -0
  162. package/vendor/include/networkit/distance/BFS.hpp +43 -0
  163. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +51 -0
  164. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +69 -0
  165. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +89 -0
  166. package/vendor/include/networkit/distance/Diameter.hpp +97 -0
  167. package/vendor/include/networkit/distance/Dijkstra.hpp +50 -0
  168. package/vendor/include/networkit/distance/DynAPSP.hpp +67 -0
  169. package/vendor/include/networkit/distance/DynBFS.hpp +56 -0
  170. package/vendor/include/networkit/distance/DynDijkstra.hpp +57 -0
  171. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +67 -0
  172. package/vendor/include/networkit/distance/DynSSSP.hpp +87 -0
  173. package/vendor/include/networkit/distance/Eccentricity.hpp +32 -0
  174. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +47 -0
  175. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +57 -0
  176. package/vendor/include/networkit/distance/FloydWarshall.hpp +93 -0
  177. package/vendor/include/networkit/distance/GraphDistance.hpp +49 -0
  178. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +62 -0
  179. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +66 -0
  180. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +41 -0
  181. package/vendor/include/networkit/distance/JaccardDistance.hpp +57 -0
  182. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +32 -0
  183. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +40 -0
  184. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +47 -0
  185. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +56 -0
  186. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +56 -0
  187. package/vendor/include/networkit/distance/NodeDistance.hpp +54 -0
  188. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +76 -0
  189. package/vendor/include/networkit/distance/ReverseBFS.hpp +46 -0
  190. package/vendor/include/networkit/distance/SPSP.hpp +143 -0
  191. package/vendor/include/networkit/distance/SSSP.hpp +216 -0
  192. package/vendor/include/networkit/distance/STSP.hpp +193 -0
  193. package/vendor/include/networkit/distance/Volume.hpp +66 -0
  194. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +40 -0
  195. package/vendor/include/networkit/dynamics/DGSWriter.hpp +30 -0
  196. package/vendor/include/networkit/dynamics/GraphDifference.hpp +110 -0
  197. package/vendor/include/networkit/dynamics/GraphEvent.hpp +55 -0
  198. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +39 -0
  199. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +55 -0
  200. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +38 -0
  201. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +26 -0
  202. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +33 -0
  203. package/vendor/include/networkit/edgescores/EdgeScore.hpp +50 -0
  204. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +33 -0
  205. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +33 -0
  206. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +32 -0
  207. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +35 -0
  208. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +29 -0
  209. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +23 -0
  210. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +39 -0
  211. package/vendor/include/networkit/embedding/Node2Vec.hpp +83 -0
  212. package/vendor/include/networkit/flow/EdmondsKarp.hpp +112 -0
  213. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +87 -0
  214. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +46 -0
  215. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +63 -0
  216. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +56 -0
  217. package/vendor/include/networkit/generators/ConfigurationModel.hpp +36 -0
  218. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +33 -0
  219. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +33 -0
  220. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +51 -0
  221. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +34 -0
  222. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +55 -0
  223. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +40 -0
  224. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +79 -0
  225. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +143 -0
  226. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +26 -0
  227. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +54 -0
  228. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +65 -0
  229. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +318 -0
  230. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +56 -0
  231. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +48 -0
  232. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +236 -0
  233. package/vendor/include/networkit/generators/LFRGenerator.hpp +175 -0
  234. package/vendor/include/networkit/generators/MocnikGenerator.hpp +147 -0
  235. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +58 -0
  236. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +128 -0
  237. package/vendor/include/networkit/generators/PubWebGenerator.hpp +94 -0
  238. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +37 -0
  239. package/vendor/include/networkit/generators/RmatGenerator.hpp +67 -0
  240. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +42 -0
  241. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +30 -0
  242. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +41 -0
  243. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +43 -0
  244. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +857 -0
  245. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +587 -0
  246. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +726 -0
  247. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +232 -0
  248. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +149 -0
  249. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +143 -0
  250. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +248 -0
  251. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +145 -0
  252. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +42 -0
  253. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +24 -0
  254. package/vendor/include/networkit/graph/Attributes.hpp +568 -0
  255. package/vendor/include/networkit/graph/BFS.hpp +111 -0
  256. package/vendor/include/networkit/graph/DFS.hpp +71 -0
  257. package/vendor/include/networkit/graph/Dijkstra.hpp +83 -0
  258. package/vendor/include/networkit/graph/EdgeIterators.hpp +171 -0
  259. package/vendor/include/networkit/graph/Graph.hpp +2083 -0
  260. package/vendor/include/networkit/graph/GraphBuilder.hpp +289 -0
  261. package/vendor/include/networkit/graph/GraphR.hpp +133 -0
  262. package/vendor/include/networkit/graph/GraphTools.hpp +589 -0
  263. package/vendor/include/networkit/graph/GraphW.hpp +1236 -0
  264. package/vendor/include/networkit/graph/KruskalMSF.hpp +50 -0
  265. package/vendor/include/networkit/graph/NeighborIterators.hpp +163 -0
  266. package/vendor/include/networkit/graph/NodeIterators.hpp +127 -0
  267. package/vendor/include/networkit/graph/PrimMSF.hpp +66 -0
  268. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +133 -0
  269. package/vendor/include/networkit/graph/SpanningForest.hpp +41 -0
  270. package/vendor/include/networkit/graph/TopologicalSort.hpp +87 -0
  271. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +126 -0
  272. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +68 -0
  273. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +44 -0
  274. package/vendor/include/networkit/independentset/Luby.hpp +27 -0
  275. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +45 -0
  276. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +47 -0
  277. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +41 -0
  278. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +44 -0
  279. package/vendor/include/networkit/io/CoverReader.hpp +27 -0
  280. package/vendor/include/networkit/io/CoverWriter.hpp +21 -0
  281. package/vendor/include/networkit/io/DGSReader.hpp +39 -0
  282. package/vendor/include/networkit/io/DibapGraphReader.hpp +43 -0
  283. package/vendor/include/networkit/io/DotGraphWriter.hpp +39 -0
  284. package/vendor/include/networkit/io/DotPartitionWriter.hpp +23 -0
  285. package/vendor/include/networkit/io/DynamicGraphReader.hpp +29 -0
  286. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +35 -0
  287. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +43 -0
  288. package/vendor/include/networkit/io/EdgeListReader.hpp +61 -0
  289. package/vendor/include/networkit/io/EdgeListWriter.hpp +48 -0
  290. package/vendor/include/networkit/io/GMLGraphReader.hpp +33 -0
  291. package/vendor/include/networkit/io/GMLGraphWriter.hpp +33 -0
  292. package/vendor/include/networkit/io/GraphIO.hpp +52 -0
  293. package/vendor/include/networkit/io/GraphReader.hpp +40 -0
  294. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +71 -0
  295. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +61 -0
  296. package/vendor/include/networkit/io/GraphWriter.hpp +27 -0
  297. package/vendor/include/networkit/io/KONECTGraphReader.hpp +44 -0
  298. package/vendor/include/networkit/io/LineFileReader.hpp +42 -0
  299. package/vendor/include/networkit/io/METISGraphReader.hpp +36 -0
  300. package/vendor/include/networkit/io/METISGraphWriter.hpp +29 -0
  301. package/vendor/include/networkit/io/METISParser.hpp +63 -0
  302. package/vendor/include/networkit/io/MTXGraphReader.hpp +31 -0
  303. package/vendor/include/networkit/io/MTXParser.hpp +87 -0
  304. package/vendor/include/networkit/io/MatrixMarketReader.hpp +33 -0
  305. package/vendor/include/networkit/io/MatrixReader.hpp +33 -0
  306. package/vendor/include/networkit/io/MemoryMappedFile.hpp +80 -0
  307. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +144 -0
  308. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +50 -0
  309. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +71 -0
  310. package/vendor/include/networkit/io/PartitionReader.hpp +34 -0
  311. package/vendor/include/networkit/io/PartitionWriter.hpp +31 -0
  312. package/vendor/include/networkit/io/RBGraphReader.hpp +37 -0
  313. package/vendor/include/networkit/io/RBMatrixReader.hpp +49 -0
  314. package/vendor/include/networkit/io/RasterReader.hpp +40 -0
  315. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +28 -0
  316. package/vendor/include/networkit/io/SNAPGraphReader.hpp +53 -0
  317. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +53 -0
  318. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +44 -0
  319. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +27 -0
  320. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +39 -0
  321. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +37 -0
  322. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +36 -0
  323. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +70 -0
  324. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +39 -0
  325. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +135 -0
  326. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +44 -0
  327. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +84 -0
  328. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +98 -0
  329. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +56 -0
  330. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +60 -0
  331. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +42 -0
  332. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +54 -0
  333. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +48 -0
  334. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +40 -0
  335. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +66 -0
  336. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +37 -0
  337. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +39 -0
  338. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +47 -0
  339. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +38 -0
  340. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +50 -0
  341. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +39 -0
  342. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +35 -0
  343. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +35 -0
  344. package/vendor/include/networkit/matching/BMatcher.hpp +52 -0
  345. package/vendor/include/networkit/matching/BMatching.hpp +115 -0
  346. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +170 -0
  347. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +78 -0
  348. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +35 -0
  349. package/vendor/include/networkit/matching/Matcher.hpp +55 -0
  350. package/vendor/include/networkit/matching/Matching.hpp +111 -0
  351. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +46 -0
  352. package/vendor/include/networkit/matching/SuitorMatcher.hpp +62 -0
  353. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +163 -0
  354. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +99 -0
  355. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +70 -0
  356. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +460 -0
  357. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +47 -0
  358. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +56 -0
  359. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +52 -0
  360. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +133 -0
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +28 -0
  362. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +165 -0
  363. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +1090 -0
  364. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +316 -0
  365. package/vendor/include/networkit/numerics/LinearSolver.hpp +151 -0
  366. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +61 -0
  367. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +36 -0
  368. package/vendor/include/networkit/numerics/Smoother.hpp +37 -0
  369. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +28 -0
  370. package/vendor/include/networkit/overlap/Overlapper.hpp +27 -0
  371. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +113 -0
  372. package/vendor/include/networkit/randomization/Curveball.hpp +49 -0
  373. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +39 -0
  374. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +39 -0
  375. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +82 -0
  376. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +157 -0
  377. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +69 -0
  378. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +303 -0
  379. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +122 -0
  380. package/vendor/include/networkit/reachability/ReachableNodes.hpp +83 -0
  381. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +51 -0
  382. package/vendor/include/networkit/scd/CliqueDetect.hpp +55 -0
  383. package/vendor/include/networkit/scd/CombinedSCD.hpp +51 -0
  384. package/vendor/include/networkit/scd/GCE.hpp +42 -0
  385. package/vendor/include/networkit/scd/LFMLocal.hpp +54 -0
  386. package/vendor/include/networkit/scd/LocalT.hpp +40 -0
  387. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +46 -0
  388. package/vendor/include/networkit/scd/PageRankNibble.hpp +55 -0
  389. package/vendor/include/networkit/scd/RandomBFS.hpp +33 -0
  390. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +121 -0
  391. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +76 -0
  392. package/vendor/include/networkit/scd/SetConductance.hpp +47 -0
  393. package/vendor/include/networkit/scd/TCE.hpp +41 -0
  394. package/vendor/include/networkit/scd/TwoPhaseL.hpp +40 -0
  395. package/vendor/include/networkit/scoring/EdgeScoring.hpp +44 -0
  396. package/vendor/include/networkit/scoring/ModularityScoring.hpp +79 -0
  397. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +59 -0
  398. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +28 -0
  399. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +34 -0
  400. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +40 -0
  401. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +30 -0
  402. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +124 -0
  403. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +63 -0
  404. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +38 -0
  405. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +33 -0
  406. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +29 -0
  407. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +23 -0
  408. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +35 -0
  409. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +92 -0
  410. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +166 -0
  411. package/vendor/include/networkit/structures/Cover.hpp +248 -0
  412. package/vendor/include/networkit/structures/LocalCommunity.hpp +363 -0
  413. package/vendor/include/networkit/structures/Partition.hpp +335 -0
  414. package/vendor/include/networkit/structures/UnionFind.hpp +66 -0
  415. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +157 -0
  416. package/vendor/include/networkit/viz/MaxentStress.hpp +346 -0
  417. package/vendor/include/networkit/viz/Octree.hpp +428 -0
  418. package/vendor/include/networkit/viz/PivotMDS.hpp +63 -0
  419. package/vendor/include/networkit/viz/Point.hpp +415 -0
  420. package/vendor/include/networkit/viz/PostscriptWriter.hpp +78 -0
  421. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +56 -0
  422. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +56 -0
  423. package/vendor/include/tlx/algorithm/merge_advance.hpp +177 -0
  424. package/vendor/include/tlx/algorithm/merge_combine.hpp +76 -0
  425. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +346 -0
  426. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +351 -0
  427. package/vendor/include/tlx/algorithm/multiway_merge.hpp +1385 -0
  428. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +257 -0
  429. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +408 -0
  430. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +116 -0
  431. package/vendor/include/tlx/algorithm.hpp +36 -0
  432. package/vendor/include/tlx/allocator_base.hpp +100 -0
  433. package/vendor/include/tlx/backtrace.hpp +54 -0
  434. package/vendor/include/tlx/cmdline_parser.hpp +498 -0
  435. package/vendor/include/tlx/container/btree.hpp +3977 -0
  436. package/vendor/include/tlx/container/btree_map.hpp +634 -0
  437. package/vendor/include/tlx/container/btree_multimap.hpp +627 -0
  438. package/vendor/include/tlx/container/btree_multiset.hpp +612 -0
  439. package/vendor/include/tlx/container/btree_set.hpp +612 -0
  440. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +416 -0
  441. package/vendor/include/tlx/container/d_ary_heap.hpp +311 -0
  442. package/vendor/include/tlx/container/loser_tree.hpp +1009 -0
  443. package/vendor/include/tlx/container/lru_cache.hpp +319 -0
  444. package/vendor/include/tlx/container/radix_heap.hpp +735 -0
  445. package/vendor/include/tlx/container/ring_buffer.hpp +428 -0
  446. package/vendor/include/tlx/container/simple_vector.hpp +304 -0
  447. package/vendor/include/tlx/container/splay_tree.hpp +399 -0
  448. package/vendor/include/tlx/container/string_view.hpp +805 -0
  449. package/vendor/include/tlx/container.hpp +40 -0
  450. package/vendor/include/tlx/counting_ptr.hpp +522 -0
  451. package/vendor/include/tlx/define/attribute_always_inline.hpp +34 -0
  452. package/vendor/include/tlx/define/attribute_fallthrough.hpp +36 -0
  453. package/vendor/include/tlx/define/attribute_format_printf.hpp +34 -0
  454. package/vendor/include/tlx/define/attribute_packed.hpp +34 -0
  455. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +34 -0
  456. package/vendor/include/tlx/define/constexpr.hpp +31 -0
  457. package/vendor/include/tlx/define/deprecated.hpp +39 -0
  458. package/vendor/include/tlx/define/endian.hpp +49 -0
  459. package/vendor/include/tlx/define/likely.hpp +33 -0
  460. package/vendor/include/tlx/define/visibility_hidden.hpp +34 -0
  461. package/vendor/include/tlx/define.hpp +36 -0
  462. package/vendor/include/tlx/delegate.hpp +524 -0
  463. package/vendor/include/tlx/die/core.hpp +311 -0
  464. package/vendor/include/tlx/die.hpp +106 -0
  465. package/vendor/include/tlx/digest/md5.hpp +81 -0
  466. package/vendor/include/tlx/digest/sha1.hpp +81 -0
  467. package/vendor/include/tlx/digest/sha256.hpp +81 -0
  468. package/vendor/include/tlx/digest/sha512.hpp +81 -0
  469. package/vendor/include/tlx/digest.hpp +30 -0
  470. package/vendor/include/tlx/logger/all.hpp +33 -0
  471. package/vendor/include/tlx/logger/array.hpp +43 -0
  472. package/vendor/include/tlx/logger/core.hpp +287 -0
  473. package/vendor/include/tlx/logger/deque.hpp +42 -0
  474. package/vendor/include/tlx/logger/map.hpp +65 -0
  475. package/vendor/include/tlx/logger/set.hpp +60 -0
  476. package/vendor/include/tlx/logger/tuple.hpp +66 -0
  477. package/vendor/include/tlx/logger/unordered_map.hpp +68 -0
  478. package/vendor/include/tlx/logger/unordered_set.hpp +64 -0
  479. package/vendor/include/tlx/logger/wrap_unprintable.hpp +75 -0
  480. package/vendor/include/tlx/logger.hpp +44 -0
  481. package/vendor/include/tlx/math/abs_diff.hpp +35 -0
  482. package/vendor/include/tlx/math/aggregate.hpp +231 -0
  483. package/vendor/include/tlx/math/aggregate_min_max.hpp +116 -0
  484. package/vendor/include/tlx/math/bswap.hpp +148 -0
  485. package/vendor/include/tlx/math/bswap_be.hpp +79 -0
  486. package/vendor/include/tlx/math/bswap_le.hpp +79 -0
  487. package/vendor/include/tlx/math/clz.hpp +174 -0
  488. package/vendor/include/tlx/math/ctz.hpp +174 -0
  489. package/vendor/include/tlx/math/div_ceil.hpp +36 -0
  490. package/vendor/include/tlx/math/ffs.hpp +123 -0
  491. package/vendor/include/tlx/math/integer_log2.hpp +189 -0
  492. package/vendor/include/tlx/math/is_power_of_two.hpp +74 -0
  493. package/vendor/include/tlx/math/polynomial_regression.hpp +243 -0
  494. package/vendor/include/tlx/math/popcount.hpp +173 -0
  495. package/vendor/include/tlx/math/power_to_the.hpp +44 -0
  496. package/vendor/include/tlx/math/rol.hpp +112 -0
  497. package/vendor/include/tlx/math/ror.hpp +112 -0
  498. package/vendor/include/tlx/math/round_to_power_of_two.hpp +121 -0
  499. package/vendor/include/tlx/math/round_up.hpp +36 -0
  500. package/vendor/include/tlx/math/sgn.hpp +38 -0
  501. package/vendor/include/tlx/math.hpp +46 -0
  502. package/vendor/include/tlx/meta/apply_tuple.hpp +55 -0
  503. package/vendor/include/tlx/meta/call_for_range.hpp +78 -0
  504. package/vendor/include/tlx/meta/call_foreach.hpp +60 -0
  505. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +60 -0
  506. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +61 -0
  507. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +64 -0
  508. package/vendor/include/tlx/meta/enable_if.hpp +37 -0
  509. package/vendor/include/tlx/meta/fold_left.hpp +63 -0
  510. package/vendor/include/tlx/meta/fold_left_tuple.hpp +60 -0
  511. package/vendor/include/tlx/meta/fold_right.hpp +63 -0
  512. package/vendor/include/tlx/meta/fold_right_tuple.hpp +60 -0
  513. package/vendor/include/tlx/meta/function_chain.hpp +197 -0
  514. package/vendor/include/tlx/meta/function_stack.hpp +189 -0
  515. package/vendor/include/tlx/meta/has_member.hpp +80 -0
  516. package/vendor/include/tlx/meta/has_method.hpp +117 -0
  517. package/vendor/include/tlx/meta/index_sequence.hpp +66 -0
  518. package/vendor/include/tlx/meta/is_std_array.hpp +40 -0
  519. package/vendor/include/tlx/meta/is_std_pair.hpp +39 -0
  520. package/vendor/include/tlx/meta/is_std_tuple.hpp +39 -0
  521. package/vendor/include/tlx/meta/is_std_vector.hpp +39 -0
  522. package/vendor/include/tlx/meta/log2.hpp +101 -0
  523. package/vendor/include/tlx/meta/no_operation.hpp +55 -0
  524. package/vendor/include/tlx/meta/static_index.hpp +42 -0
  525. package/vendor/include/tlx/meta/vexpand.hpp +34 -0
  526. package/vendor/include/tlx/meta/vmap_for_range.hpp +84 -0
  527. package/vendor/include/tlx/meta/vmap_foreach.hpp +63 -0
  528. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +59 -0
  529. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +62 -0
  530. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +70 -0
  531. package/vendor/include/tlx/meta.hpp +55 -0
  532. package/vendor/include/tlx/multi_timer.hpp +148 -0
  533. package/vendor/include/tlx/port/setenv.hpp +31 -0
  534. package/vendor/include/tlx/port.hpp +27 -0
  535. package/vendor/include/tlx/semaphore.hpp +119 -0
  536. package/vendor/include/tlx/simple_vector.hpp +20 -0
  537. package/vendor/include/tlx/siphash.hpp +282 -0
  538. package/vendor/include/tlx/sort/networks/best.hpp +611 -0
  539. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +412 -0
  540. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +507 -0
  541. package/vendor/include/tlx/sort/networks/cswap.hpp +60 -0
  542. package/vendor/include/tlx/sort/parallel_mergesort.hpp +398 -0
  543. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +232 -0
  544. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +185 -0
  545. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +1647 -0
  546. package/vendor/include/tlx/sort/strings/radix_sort.hpp +934 -0
  547. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +756 -0
  548. package/vendor/include/tlx/sort/strings/string_ptr.hpp +426 -0
  549. package/vendor/include/tlx/sort/strings/string_set.hpp +800 -0
  550. package/vendor/include/tlx/sort/strings.hpp +329 -0
  551. package/vendor/include/tlx/sort/strings_parallel.hpp +325 -0
  552. package/vendor/include/tlx/sort.hpp +29 -0
  553. package/vendor/include/tlx/stack_allocator.hpp +226 -0
  554. package/vendor/include/tlx/string/appendline.hpp +35 -0
  555. package/vendor/include/tlx/string/base64.hpp +87 -0
  556. package/vendor/include/tlx/string/bitdump.hpp +139 -0
  557. package/vendor/include/tlx/string/compare_icase.hpp +42 -0
  558. package/vendor/include/tlx/string/contains.hpp +36 -0
  559. package/vendor/include/tlx/string/contains_word.hpp +42 -0
  560. package/vendor/include/tlx/string/ends_with.hpp +79 -0
  561. package/vendor/include/tlx/string/equal_icase.hpp +42 -0
  562. package/vendor/include/tlx/string/erase_all.hpp +70 -0
  563. package/vendor/include/tlx/string/escape_html.hpp +34 -0
  564. package/vendor/include/tlx/string/escape_uri.hpp +34 -0
  565. package/vendor/include/tlx/string/expand_environment_variables.hpp +49 -0
  566. package/vendor/include/tlx/string/extract_between.hpp +40 -0
  567. package/vendor/include/tlx/string/format_iec_units.hpp +32 -0
  568. package/vendor/include/tlx/string/format_si_iec_units.hpp +19 -0
  569. package/vendor/include/tlx/string/format_si_units.hpp +32 -0
  570. package/vendor/include/tlx/string/hash_djb2.hpp +87 -0
  571. package/vendor/include/tlx/string/hash_sdbm.hpp +86 -0
  572. package/vendor/include/tlx/string/hexdump.hpp +154 -0
  573. package/vendor/include/tlx/string/index_of.hpp +56 -0
  574. package/vendor/include/tlx/string/join.hpp +65 -0
  575. package/vendor/include/tlx/string/join_generic.hpp +89 -0
  576. package/vendor/include/tlx/string/join_quoted.hpp +46 -0
  577. package/vendor/include/tlx/string/less_icase.hpp +64 -0
  578. package/vendor/include/tlx/string/levenshtein.hpp +193 -0
  579. package/vendor/include/tlx/string/pad.hpp +39 -0
  580. package/vendor/include/tlx/string/parse_si_iec_units.hpp +46 -0
  581. package/vendor/include/tlx/string/parse_uri.hpp +66 -0
  582. package/vendor/include/tlx/string/parse_uri_form_data.hpp +136 -0
  583. package/vendor/include/tlx/string/replace.hpp +141 -0
  584. package/vendor/include/tlx/string/split.hpp +170 -0
  585. package/vendor/include/tlx/string/split_quoted.hpp +49 -0
  586. package/vendor/include/tlx/string/split_view.hpp +218 -0
  587. package/vendor/include/tlx/string/split_words.hpp +53 -0
  588. package/vendor/include/tlx/string/ssprintf.hpp +45 -0
  589. package/vendor/include/tlx/string/ssprintf_generic.hpp +95 -0
  590. package/vendor/include/tlx/string/starts_with.hpp +44 -0
  591. package/vendor/include/tlx/string/to_lower.hpp +47 -0
  592. package/vendor/include/tlx/string/to_upper.hpp +47 -0
  593. package/vendor/include/tlx/string/trim.hpp +298 -0
  594. package/vendor/include/tlx/string/union_words.hpp +33 -0
  595. package/vendor/include/tlx/string/word_wrap.hpp +35 -0
  596. package/vendor/include/tlx/string.hpp +68 -0
  597. package/vendor/include/tlx/thread_barrier_mutex.hpp +109 -0
  598. package/vendor/include/tlx/thread_barrier_spin.hpp +127 -0
  599. package/vendor/include/tlx/thread_pool.hpp +151 -0
  600. package/vendor/include/tlx/timestamp.hpp +23 -0
  601. package/vendor/include/tlx/unused.hpp +28 -0
  602. package/vendor/include/tlx/vector_free.hpp +30 -0
  603. package/vendor/include/tlx/version.hpp +49 -0
  604. package/vendor/include/ttmath/ttmath.h +2881 -0
  605. package/vendor/include/ttmath/ttmathbig.h +6111 -0
  606. package/vendor/include/ttmath/ttmathdec.h +419 -0
  607. package/vendor/include/ttmath/ttmathint.h +1923 -0
  608. package/vendor/include/ttmath/ttmathmisc.h +250 -0
  609. package/vendor/include/ttmath/ttmathobjects.h +812 -0
  610. package/vendor/include/ttmath/ttmathparser.h +2791 -0
  611. package/vendor/include/ttmath/ttmaththreads.h +252 -0
  612. package/vendor/include/ttmath/ttmathtypes.h +707 -0
  613. package/vendor/include/ttmath/ttmathuint.h +4190 -0
  614. package/vendor/include/ttmath/ttmathuint_noasm.h +1038 -0
  615. package/vendor/include/ttmath/ttmathuint_x86.h +1620 -0
  616. package/vendor/include/ttmath/ttmathuint_x86_64.h +1177 -0
  617. package/vendor/lib/cmake/tlx/tlx-config.cmake +51 -0
  618. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +19 -0
  619. package/vendor/lib/cmake/tlx/tlx-targets.cmake +106 -0
  620. package/vendor/lib/cmake/tlx/tlx-version.cmake +11 -0
  621. package/vendor/lib/libnetworkit.dylib +0 -0
  622. package/vendor/lib/libtlx.a +0 -0
  623. package/vendor/lib/pkgconfig/networkit.pc +11 -0
  624. package/vendor/lib/pkgconfig/tlx.pc +11 -0
@@ -0,0 +1,329 @@
1
+ /*******************************************************************************
2
+ * tlx/sort/strings.hpp
3
+ *
4
+ * Front-end for string sorting algorithms.
5
+ *
6
+ * Part of tlx - http://panthema.net/tlx
7
+ *
8
+ * Copyright (C) 2018 Timo Bingmann <tb@panthema.net>
9
+ *
10
+ * All rights reserved. Published under the Boost Software License, Version 1.0
11
+ ******************************************************************************/
12
+
13
+ #ifndef TLX_SORT_STRINGS_HEADER
14
+ #define TLX_SORT_STRINGS_HEADER
15
+
16
+ #include <tlx/sort/strings/radix_sort.hpp>
17
+ #include <tlx/sort/strings/string_ptr.hpp>
18
+ #include <tlx/sort/strings/string_set.hpp>
19
+ #include <cstddef>
20
+ #include <cstdint>
21
+ #include <string>
22
+ #include <vector>
23
+
24
+ namespace tlx {
25
+
26
+ //! \addtogroup tlx_sort
27
+ //! \{
28
+ //! \name String Sorting Algorithms
29
+ //! \{
30
+
31
+ /******************************************************************************/
32
+
33
+ /*!
34
+ * Sort a set of strings represented by C-style uint8_t* in place.
35
+ *
36
+ * If the memory limit is non zero, possibly slower algorithms will be selected
37
+ * to stay within the memory limit.
38
+ */
39
+ static inline void sort_strings(unsigned char** strings, size_t size,
40
+ size_t memory = 0)
41
+ {
42
+ sort_strings_detail::radixsort_CE3(
43
+ sort_strings_detail::StringPtr<sort_strings_detail::UCharStringSet>(
44
+ sort_strings_detail::UCharStringSet(strings, strings + size)),
45
+ /* depth */ 0, memory);
46
+ }
47
+
48
+ /*!
49
+ * Sort a set of strings represented by C-style char* in place.
50
+ *
51
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
52
+ * If the memory limit is non zero, possibly slower algorithms will be selected
53
+ * to stay within the memory limit.
54
+ */
55
+ static inline void sort_strings(char** strings, size_t size, size_t memory = 0)
56
+ {
57
+ return sort_strings(reinterpret_cast<unsigned char**>(strings), size,
58
+ memory);
59
+ }
60
+
61
+ /*!
62
+ * Sort a set of strings represented by C-style uint8_t* in place.
63
+ *
64
+ * If the memory limit is non zero, possibly slower algorithms will be selected
65
+ * to stay within the memory limit.
66
+ */
67
+ static inline void sort_strings(const unsigned char** strings, size_t size,
68
+ size_t memory = 0)
69
+ {
70
+ sort_strings_detail::radixsort_CE3(
71
+ sort_strings_detail::StringPtr<sort_strings_detail::CUCharStringSet>(
72
+ sort_strings_detail::CUCharStringSet(strings, strings + size)),
73
+ /* depth */ 0, memory);
74
+ }
75
+
76
+ /*!
77
+ * Sort a set of strings represented by C-style char* in place.
78
+ *
79
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
80
+ * If the memory limit is non zero, possibly slower algorithms will be selected
81
+ * to stay within the memory limit.
82
+ */
83
+ static inline void sort_strings(const char** strings, size_t size,
84
+ size_t memory = 0)
85
+ {
86
+ return sort_strings(reinterpret_cast<const unsigned char**>(strings), size,
87
+ memory);
88
+ }
89
+
90
+ /******************************************************************************/
91
+
92
+ /*!
93
+ * Sort a set of strings represented by C-style char* in place.
94
+ *
95
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
96
+ * If the memory limit is non zero, possibly slower algorithms will be selected
97
+ * to stay within the memory limit.
98
+ */
99
+ static inline void sort_strings(std::vector<char*>& strings, size_t memory = 0)
100
+ {
101
+ return sort_strings(strings.data(), strings.size(), memory);
102
+ }
103
+
104
+ /*!
105
+ * Sort a set of strings represented by C-style uint8_t* in place.
106
+ *
107
+ * If the memory limit is non zero, possibly slower algorithms will be selected
108
+ * to stay within the memory limit.
109
+ */
110
+ static inline void sort_strings(std::vector<unsigned char*>& strings,
111
+ size_t memory = 0)
112
+ {
113
+ return sort_strings(strings.data(), strings.size(), memory);
114
+ }
115
+
116
+ /*!
117
+ * Sort a set of strings represented by C-style char* in place.
118
+ *
119
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
120
+ * If the memory limit is non zero, possibly slower algorithms will be selected
121
+ * to stay within the memory limit.
122
+ */
123
+ static inline void sort_strings(std::vector<const char*>& strings,
124
+ size_t memory = 0)
125
+ {
126
+ return sort_strings(strings.data(), strings.size(), memory);
127
+ }
128
+
129
+ /*!
130
+ * Sort a set of strings represented by C-style uint8_t* in place.
131
+ *
132
+ * If the memory limit is non zero, possibly slower algorithms will be selected
133
+ * to stay within the memory limit.
134
+ */
135
+ static inline void sort_strings(std::vector<const unsigned char*>& strings,
136
+ size_t memory = 0)
137
+ {
138
+ return sort_strings(strings.data(), strings.size(), memory);
139
+ }
140
+
141
+ /******************************************************************************/
142
+
143
+ /*!
144
+ * Sort a set of std::strings in place.
145
+ *
146
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
147
+ * If the memory limit is non zero, possibly slower algorithms will be selected
148
+ * to stay within the memory limit.
149
+ */
150
+ static inline void sort_strings(std::string* strings, size_t size,
151
+ size_t memory = 0)
152
+ {
153
+ sort_strings_detail::radixsort_CE3(
154
+ sort_strings_detail::StringPtr<sort_strings_detail::StdStringSet>(
155
+ sort_strings_detail::StdStringSet(strings, strings + size)),
156
+ /* depth */ 0, memory);
157
+ }
158
+
159
+ /*!
160
+ * Sort a vector of std::strings in place.
161
+ *
162
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
163
+ * If the memory limit is non zero, possibly slower algorithms will be selected
164
+ * to stay within the memory limit.
165
+ */
166
+ static inline void sort_strings(std::vector<std::string>& strings,
167
+ size_t memory = 0)
168
+ {
169
+ return sort_strings(strings.data(), strings.size(), memory);
170
+ }
171
+
172
+ /******************************************************************************/
173
+ /******************************************************************************/
174
+ /******************************************************************************/
175
+
176
+ /*!
177
+ * Sort a set of strings represented by C-style uint8_t* in place.
178
+ *
179
+ * If the memory limit is non zero, possibly slower algorithms will be selected
180
+ * to stay within the memory limit.
181
+ */
182
+ static inline void sort_strings_lcp(unsigned char** strings, size_t size,
183
+ std::uint32_t* lcp, size_t memory = 0)
184
+ {
185
+ sort_strings_detail::radixsort_CE3(
186
+ sort_strings_detail::StringLcpPtr<sort_strings_detail::UCharStringSet,
187
+ std::uint32_t>(
188
+ sort_strings_detail::UCharStringSet(strings, strings + size), lcp),
189
+ /* depth */ 0, memory);
190
+ }
191
+
192
+ /*!
193
+ * Sort a set of strings represented by C-style char* in place.
194
+ *
195
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
196
+ * If the memory limit is non zero, possibly slower algorithms will be selected
197
+ * to stay within the memory limit.
198
+ */
199
+ static inline void sort_strings_lcp(char** strings, size_t size,
200
+ std::uint32_t* lcp, size_t memory = 0)
201
+ {
202
+ return sort_strings_lcp(reinterpret_cast<unsigned char**>(strings), size,
203
+ lcp, memory);
204
+ }
205
+
206
+ /*!
207
+ * Sort a set of strings represented by C-style uint8_t* in place.
208
+ *
209
+ * If the memory limit is non zero, possibly slower algorithms will be selected
210
+ * to stay within the memory limit.
211
+ */
212
+ static inline void sort_strings_lcp(const unsigned char** strings, size_t size,
213
+ std::uint32_t* lcp, size_t memory = 0)
214
+ {
215
+ sort_strings_detail::radixsort_CE3(
216
+ sort_strings_detail::StringLcpPtr<sort_strings_detail::CUCharStringSet,
217
+ std::uint32_t>(
218
+ sort_strings_detail::CUCharStringSet(strings, strings + size), lcp),
219
+ /* depth */ 0, memory);
220
+ }
221
+
222
+ /*!
223
+ * Sort a set of strings represented by C-style char* in place.
224
+ *
225
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
226
+ * If the memory limit is non zero, possibly slower algorithms will be selected
227
+ * to stay within the memory limit.
228
+ */
229
+ static inline void sort_strings_lcp(const char** strings, size_t size,
230
+ std::uint32_t* lcp, size_t memory = 0)
231
+ {
232
+ return sort_strings_lcp(reinterpret_cast<const unsigned char**>(strings),
233
+ size, lcp, memory);
234
+ }
235
+
236
+ /******************************************************************************/
237
+
238
+ /*!
239
+ * Sort a set of strings represented by C-style char* in place.
240
+ *
241
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
242
+ * If the memory limit is non zero, possibly slower algorithms will be selected
243
+ * to stay within the memory limit.
244
+ */
245
+ static inline void sort_strings_lcp(std::vector<char*>& strings,
246
+ std::uint32_t* lcp, size_t memory = 0)
247
+ {
248
+ return sort_strings_lcp(strings.data(), strings.size(), lcp, memory);
249
+ }
250
+
251
+ /*!
252
+ * Sort a set of strings represented by C-style uint8_t* in place.
253
+ *
254
+ * If the memory limit is non zero, possibly slower algorithms will be selected
255
+ * to stay within the memory limit.
256
+ */
257
+ static inline void sort_strings_lcp(std::vector<unsigned char*>& strings,
258
+ std::uint32_t* lcp, size_t memory = 0)
259
+ {
260
+ return sort_strings_lcp(strings.data(), strings.size(), lcp, memory);
261
+ }
262
+
263
+ /*!
264
+ * Sort a set of strings represented by C-style char* in place.
265
+ *
266
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
267
+ * If the memory limit is non zero, possibly slower algorithms will be selected
268
+ * to stay within the memory limit.
269
+ */
270
+ static inline void sort_strings_lcp(std::vector<const char*>& strings,
271
+ std::uint32_t* lcp, size_t memory = 0)
272
+ {
273
+ return sort_strings_lcp(strings.data(), strings.size(), lcp, memory);
274
+ }
275
+
276
+ /*!
277
+ * Sort a set of strings represented by C-style uint8_t* in place.
278
+ *
279
+ * If the memory limit is non zero, possibly slower algorithms will be selected
280
+ * to stay within the memory limit.
281
+ */
282
+ static inline void sort_strings_lcp(std::vector<const unsigned char*>& strings,
283
+ std::uint32_t* lcp, size_t memory = 0)
284
+ {
285
+ return sort_strings_lcp(strings.data(), strings.size(), lcp, memory);
286
+ }
287
+
288
+ /******************************************************************************/
289
+
290
+ /*!
291
+ * Sort a set of std::strings in place.
292
+ *
293
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
294
+ * If the memory limit is non zero, possibly slower algorithms will be selected
295
+ * to stay within the memory limit.
296
+ */
297
+ static inline void sort_strings_lcp(std::string* strings, size_t size,
298
+ std::uint32_t* lcp, size_t memory = 0)
299
+ {
300
+ sort_strings_detail::radixsort_CE3(
301
+ sort_strings_detail::StringLcpPtr<sort_strings_detail::StdStringSet,
302
+ std::uint32_t>(
303
+ sort_strings_detail::StdStringSet(strings, strings + size), lcp),
304
+ /* depth */ 0, memory);
305
+ }
306
+
307
+ /*!
308
+ * Sort a vector of std::strings in place.
309
+ *
310
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
311
+ * If the memory limit is non zero, possibly slower algorithms will be selected
312
+ * to stay within the memory limit.
313
+ */
314
+ static inline void sort_strings_lcp(std::vector<std::string>& strings,
315
+ std::uint32_t* lcp, size_t memory = 0)
316
+ {
317
+ return sort_strings_lcp(strings.data(), strings.size(), lcp, memory);
318
+ }
319
+
320
+ /******************************************************************************/
321
+
322
+ //! \}
323
+ //! \}
324
+
325
+ } // namespace tlx
326
+
327
+ #endif // !TLX_SORT_STRINGS_HEADER
328
+
329
+ /******************************************************************************/
@@ -0,0 +1,325 @@
1
+ /*******************************************************************************
2
+ * tlx/sort/strings_parallel.hpp
3
+ *
4
+ * Front-end for parallel string sorting algorithms.
5
+ *
6
+ * Part of tlx - http://panthema.net/tlx
7
+ *
8
+ * Copyright (C) 2019 Timo Bingmann <tb@panthema.net>
9
+ *
10
+ * All rights reserved. Published under the Boost Software License, Version 1.0
11
+ ******************************************************************************/
12
+
13
+ #ifndef TLX_SORT_STRINGS_PARALLEL_HEADER
14
+ #define TLX_SORT_STRINGS_PARALLEL_HEADER
15
+
16
+ #include <tlx/sort/strings/parallel_sample_sort.hpp>
17
+ #include <tlx/sort/strings/string_ptr.hpp>
18
+ #include <tlx/sort/strings/string_set.hpp>
19
+ #include <cstddef>
20
+ #include <cstdint>
21
+ #include <string>
22
+ #include <vector>
23
+
24
+ namespace tlx {
25
+
26
+ //! \addtogroup tlx_sort
27
+ //! \{
28
+ //! \name String Sorting Algorithms
29
+ //! \{
30
+
31
+ /******************************************************************************/
32
+
33
+ /*!
34
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
35
+ *
36
+ * The memory limit is currently not used.
37
+ */
38
+ static inline void sort_strings_parallel(unsigned char** strings, size_t size,
39
+ size_t memory = 0)
40
+ {
41
+ sort_strings_detail::parallel_sample_sort(
42
+ sort_strings_detail::StringPtr<sort_strings_detail::UCharStringSet>(
43
+ sort_strings_detail::UCharStringSet(strings, strings + size)),
44
+ /* depth */ 0, memory);
45
+ }
46
+
47
+ /*!
48
+ * Sort a set of strings in parallel represented by C-style char* in place.
49
+ *
50
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
51
+ * The memory limit is currently not used.
52
+ */
53
+ static inline void sort_strings_parallel(char** strings, size_t size,
54
+ size_t memory = 0)
55
+ {
56
+ return sort_strings_parallel(reinterpret_cast<unsigned char**>(strings),
57
+ size, memory);
58
+ }
59
+
60
+ /*!
61
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
62
+ *
63
+ * The memory limit is currently not used.
64
+ */
65
+ static inline void sort_strings_parallel(const unsigned char** strings,
66
+ size_t size, size_t memory = 0)
67
+ {
68
+ sort_strings_detail::parallel_sample_sort(
69
+ sort_strings_detail::StringPtr<sort_strings_detail::CUCharStringSet>(
70
+ sort_strings_detail::CUCharStringSet(strings, strings + size)),
71
+ /* depth */ 0, memory);
72
+ }
73
+
74
+ /*!
75
+ * Sort a set of strings in parallel represented by C-style char* in place.
76
+ *
77
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
78
+ * The memory limit is currently not used.
79
+ */
80
+ static inline void sort_strings_parallel(const char** strings, size_t size,
81
+ size_t memory = 0)
82
+ {
83
+ return sort_strings_parallel(
84
+ reinterpret_cast<const unsigned char**>(strings), size, memory);
85
+ }
86
+
87
+ /******************************************************************************/
88
+
89
+ /*!
90
+ * Sort a set of strings in parallel represented by C-style char* in place.
91
+ *
92
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
93
+ * The memory limit is currently not used.
94
+ */
95
+ static inline void sort_strings_parallel(std::vector<char*>& strings,
96
+ size_t memory = 0)
97
+ {
98
+ return sort_strings_parallel(strings.data(), strings.size(), memory);
99
+ }
100
+
101
+ /*!
102
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
103
+ *
104
+ * The memory limit is currently not used.
105
+ */
106
+ static inline void sort_strings_parallel(std::vector<unsigned char*>& strings,
107
+ size_t memory = 0)
108
+ {
109
+ return sort_strings_parallel(strings.data(), strings.size(), memory);
110
+ }
111
+
112
+ /*!
113
+ * Sort a set of strings in parallel represented by C-style char* in place.
114
+ *
115
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
116
+ * The memory limit is currently not used.
117
+ */
118
+ static inline void sort_strings_parallel(std::vector<const char*>& strings,
119
+ size_t memory = 0)
120
+ {
121
+ return sort_strings_parallel(strings.data(), strings.size(), memory);
122
+ }
123
+
124
+ /*!
125
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
126
+ *
127
+ * The memory limit is currently not used.
128
+ */
129
+ static inline void sort_strings_parallel(
130
+ std::vector<const unsigned char*>& strings, size_t memory = 0)
131
+ {
132
+ return sort_strings_parallel(strings.data(), strings.size(), memory);
133
+ }
134
+
135
+ /******************************************************************************/
136
+
137
+ /*!
138
+ * Sort a set of std::strings in place in parallel.
139
+ *
140
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
141
+ * The memory limit is currently not used.
142
+ */
143
+ static inline void sort_strings_parallel(std::string* strings, size_t size,
144
+ size_t memory = 0)
145
+ {
146
+ sort_strings_detail::parallel_sample_sort(
147
+ sort_strings_detail::StringPtr<sort_strings_detail::StdStringSet>(
148
+ sort_strings_detail::StdStringSet(strings, strings + size)),
149
+ /* depth */ 0, memory);
150
+ }
151
+
152
+ /*!
153
+ * Sort a vector of std::strings in place in parallel.
154
+ *
155
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
156
+ * The memory limit is currently not used.
157
+ */
158
+ static inline void sort_strings_parallel(std::vector<std::string>& strings,
159
+ size_t memory = 0)
160
+ {
161
+ return sort_strings_parallel(strings.data(), strings.size(), memory);
162
+ }
163
+
164
+ /******************************************************************************/
165
+ /******************************************************************************/
166
+ /******************************************************************************/
167
+
168
+ /*!
169
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
170
+ *
171
+ * The memory limit is currently not used.
172
+ */
173
+ static inline void sort_strings_parallel_lcp(unsigned char** strings,
174
+ size_t size, std::uint32_t* lcp,
175
+ size_t memory = 0)
176
+ {
177
+ sort_strings_detail::parallel_sample_sort(
178
+ sort_strings_detail::StringLcpPtr<sort_strings_detail::UCharStringSet,
179
+ std::uint32_t>(
180
+ sort_strings_detail::UCharStringSet(strings, strings + size), lcp),
181
+ /* depth */ 0, memory);
182
+ }
183
+
184
+ /*!
185
+ * Sort a set of strings in parallel represented by C-style char* in place.
186
+ *
187
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
188
+ * The memory limit is currently not used.
189
+ */
190
+ static inline void sort_strings_parallel_lcp(char** strings, size_t size,
191
+ std::uint32_t* lcp,
192
+ size_t memory = 0)
193
+ {
194
+ return sort_strings_parallel_lcp(reinterpret_cast<unsigned char**>(strings),
195
+ size, lcp, memory);
196
+ }
197
+
198
+ /*!
199
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
200
+ *
201
+ * The memory limit is currently not used.
202
+ */
203
+ static inline void sort_strings_parallel_lcp(const unsigned char** strings,
204
+ size_t size, std::uint32_t* lcp,
205
+ size_t memory = 0)
206
+ {
207
+ sort_strings_detail::parallel_sample_sort(
208
+ sort_strings_detail::StringLcpPtr<sort_strings_detail::CUCharStringSet,
209
+ std::uint32_t>(
210
+ sort_strings_detail::CUCharStringSet(strings, strings + size), lcp),
211
+ /* depth */ 0, memory);
212
+ }
213
+
214
+ /*!
215
+ * Sort a set of strings in parallel represented by C-style char* in place.
216
+ *
217
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
218
+ * The memory limit is currently not used.
219
+ */
220
+ static inline void sort_strings_parallel_lcp(const char** strings, size_t size,
221
+ std::uint32_t* lcp,
222
+ size_t memory = 0)
223
+ {
224
+ return sort_strings_parallel_lcp(
225
+ reinterpret_cast<const unsigned char**>(strings), size, lcp, memory);
226
+ }
227
+
228
+ /******************************************************************************/
229
+
230
+ /*!
231
+ * Sort a set of strings in parallel represented by C-style char* in place.
232
+ *
233
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
234
+ * The memory limit is currently not used.
235
+ */
236
+ static inline void sort_strings_parallel_lcp(std::vector<char*>& strings,
237
+ std::uint32_t* lcp,
238
+ size_t memory = 0)
239
+ {
240
+ return sort_strings_parallel_lcp(strings.data(), strings.size(), lcp,
241
+ memory);
242
+ }
243
+
244
+ /*!
245
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
246
+ *
247
+ * The memory limit is currently not used.
248
+ */
249
+ static inline void sort_strings_parallel_lcp(
250
+ std::vector<unsigned char*>& strings, std::uint32_t* lcp, size_t memory = 0)
251
+ {
252
+ return sort_strings_parallel_lcp(strings.data(), strings.size(), lcp,
253
+ memory);
254
+ }
255
+
256
+ /*!
257
+ * Sort a set of strings in parallel represented by C-style char* in place.
258
+ *
259
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
260
+ * The memory limit is currently not used.
261
+ */
262
+ static inline void sort_strings_parallel_lcp(std::vector<const char*>& strings,
263
+ std::uint32_t* lcp,
264
+ size_t memory = 0)
265
+ {
266
+ return sort_strings_parallel_lcp(strings.data(), strings.size(), lcp,
267
+ memory);
268
+ }
269
+
270
+ /*!
271
+ * Sort a set of strings in parallel represented by C-style uint8_t* in place.
272
+ *
273
+ * The memory limit is currently not used.
274
+ */
275
+ static inline void sort_strings_parallel_lcp(
276
+ std::vector<const unsigned char*>& strings, std::uint32_t* lcp,
277
+ size_t memory = 0)
278
+ {
279
+ return sort_strings_parallel_lcp(strings.data(), strings.size(), lcp,
280
+ memory);
281
+ }
282
+
283
+ /******************************************************************************/
284
+
285
+ /*!
286
+ * Sort a set of std::strings in place in parallel.
287
+ *
288
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
289
+ * The memory limit is currently not used.
290
+ */
291
+ static inline void sort_strings_parallel_lcp(std::string* strings, size_t size,
292
+ std::uint32_t* lcp,
293
+ size_t memory = 0)
294
+ {
295
+ sort_strings_detail::parallel_sample_sort(
296
+ sort_strings_detail::StringLcpPtr<sort_strings_detail::StdStringSet,
297
+ std::uint32_t>(
298
+ sort_strings_detail::StdStringSet(strings, strings + size), lcp),
299
+ /* depth */ 0, memory);
300
+ }
301
+
302
+ /*!
303
+ * Sort a vector of std::strings in place in parallel.
304
+ *
305
+ * The strings are sorted as _unsigned_ 8-bit characters, not signed characters!
306
+ * The memory limit is currently not used.
307
+ */
308
+ static inline void sort_strings_parallel_lcp(std::vector<std::string>& strings,
309
+ std::uint32_t* lcp,
310
+ size_t memory = 0)
311
+ {
312
+ return sort_strings_parallel_lcp(strings.data(), strings.size(), lcp,
313
+ memory);
314
+ }
315
+
316
+ /******************************************************************************/
317
+
318
+ //! \}
319
+ //! \}
320
+
321
+ } // namespace tlx
322
+
323
+ #endif // !TLX_SORT_STRINGS_PARALLEL_HEADER
324
+
325
+ /******************************************************************************/
@@ -0,0 +1,29 @@
1
+ /*******************************************************************************
2
+ * tlx/sort.hpp
3
+ *
4
+ * Part of tlx - http://panthema.net/tlx
5
+ *
6
+ * Copyright (C) 2018 Timo Bingmann <tb@panthema.net>
7
+ *
8
+ * All rights reserved. Published under the Boost Software License, Version 1.0
9
+ ******************************************************************************/
10
+
11
+ #ifndef TLX_SORT_HEADER
12
+ #define TLX_SORT_HEADER
13
+
14
+ //! \defgroup tlx_sort Sorting Algorithms
15
+ //! Specialized Sorting Algorithms
16
+
17
+ /*[[[perl
18
+ foreach (sort grep(!/_impl/, glob("tlx/sort/"."*.hpp"))) {
19
+ print "#include <$_> // NOLINT(misc-include-cleaner)\n";
20
+ }
21
+ ]]]*/
22
+ #include <tlx/sort/parallel_mergesort.hpp> // NOLINT(misc-include-cleaner)
23
+ #include <tlx/sort/strings.hpp> // NOLINT(misc-include-cleaner)
24
+ #include <tlx/sort/strings_parallel.hpp> // NOLINT(misc-include-cleaner)
25
+ // [[[end]]]
26
+
27
+ #endif // !TLX_SORT_HEADER
28
+
29
+ /******************************************************************************/