@ladybugmem/icebug 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/binding.gyp +32 -10
  2. package/lib/index.js +23 -11
  3. package/package.json +8 -13
  4. package/prebuilds/darwin-arm64/icebug.node +0 -0
  5. package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
  6. package/prebuilds/linux-x64/icebug.node +0 -0
  7. package/prebuilds/linux-x64/libnetworkit.so +0 -0
  8. package/scripts/download-icebug.sh +92 -0
  9. package/build/Release/.deps/Release/icebug.node.d +0 -1
  10. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
  11. package/build/Release/icebug.node +0 -0
  12. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  13. package/vendor/include/networkit/GlobalState.hpp +0 -86
  14. package/vendor/include/networkit/Globals.hpp +0 -41
  15. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
  16. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
  17. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
  18. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
  19. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
  20. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
  21. package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
  22. package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
  23. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
  24. package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
  29. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
  30. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
  31. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
  32. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
  33. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
  34. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
  35. package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
  36. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
  37. package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
  38. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
  39. package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
  40. package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
  41. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
  42. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
  43. package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
  44. package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
  45. package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
  46. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
  47. package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
  48. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
  49. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
  50. package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
  51. package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
  52. package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
  53. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
  54. package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
  55. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
  56. package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
  57. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
  58. package/vendor/include/networkit/base/Algorithm.hpp +0 -41
  59. package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
  60. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
  61. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
  62. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
  63. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
  64. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
  65. package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
  66. package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
  67. package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
  68. package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
  69. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
  70. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
  71. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
  72. package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
  73. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
  74. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
  75. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
  76. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
  77. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
  78. package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
  79. package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
  80. package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
  81. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
  82. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
  83. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
  84. package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
  85. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
  86. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
  87. package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
  88. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
  89. package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
  90. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
  91. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
  92. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
  93. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
  94. package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
  95. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
  96. package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
  97. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
  98. package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
  99. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
  100. package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
  101. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
  102. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
  103. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
  104. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
  105. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
  106. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
  107. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
  108. package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
  109. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
  110. package/vendor/include/networkit/community/Conductance.hpp +0 -32
  111. package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
  112. package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
  113. package/vendor/include/networkit/community/Coverage.hpp +0 -25
  114. package/vendor/include/networkit/community/CutClustering.hpp +0 -62
  115. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
  116. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
  117. package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
  118. package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
  119. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
  120. package/vendor/include/networkit/community/HubDominance.hpp +0 -46
  121. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
  122. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
  123. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
  124. package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
  125. package/vendor/include/networkit/community/LFM.hpp +0 -49
  126. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
  127. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
  128. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
  129. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
  130. package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
  131. package/vendor/include/networkit/community/Modularity.hpp +0 -54
  132. package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
  133. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
  134. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
  135. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
  136. package/vendor/include/networkit/community/PLM.hpp +0 -89
  137. package/vendor/include/networkit/community/PLP.hpp +0 -83
  138. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
  139. package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
  140. package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
  141. package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
  142. package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
  143. package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
  144. package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
  145. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
  146. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
  147. package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
  148. package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
  149. package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
  150. package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
  151. package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
  152. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
  153. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
  154. package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
  155. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
  156. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
  157. package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
  158. package/vendor/include/networkit/distance/APSP.hpp +0 -70
  159. package/vendor/include/networkit/distance/AStar.hpp +0 -68
  160. package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
  161. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
  162. package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
  163. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
  164. package/vendor/include/networkit/distance/BFS.hpp +0 -43
  165. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
  166. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
  167. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
  168. package/vendor/include/networkit/distance/Diameter.hpp +0 -97
  169. package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
  170. package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
  171. package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
  172. package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
  173. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
  174. package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
  175. package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
  176. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
  177. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
  178. package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
  179. package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
  180. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
  181. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
  182. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
  183. package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
  184. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
  185. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
  186. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
  187. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
  188. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
  189. package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
  190. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
  191. package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
  192. package/vendor/include/networkit/distance/SPSP.hpp +0 -143
  193. package/vendor/include/networkit/distance/SSSP.hpp +0 -216
  194. package/vendor/include/networkit/distance/STSP.hpp +0 -193
  195. package/vendor/include/networkit/distance/Volume.hpp +0 -66
  196. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
  197. package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
  198. package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
  199. package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
  200. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
  201. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
  202. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
  203. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
  204. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
  205. package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
  206. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
  207. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
  208. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
  209. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
  210. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
  211. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
  212. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
  213. package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
  214. package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
  215. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
  216. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
  217. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
  218. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
  219. package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
  220. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
  221. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
  222. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
  223. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
  224. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
  225. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
  226. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
  227. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
  228. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
  229. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
  230. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
  231. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
  232. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
  233. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
  234. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
  235. package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
  236. package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
  237. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
  238. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
  239. package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
  240. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
  241. package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
  242. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
  243. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
  244. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
  245. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
  246. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
  247. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
  248. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
  249. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
  250. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
  251. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
  252. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
  253. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
  254. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
  255. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
  256. package/vendor/include/networkit/graph/Attributes.hpp +0 -568
  257. package/vendor/include/networkit/graph/BFS.hpp +0 -111
  258. package/vendor/include/networkit/graph/DFS.hpp +0 -71
  259. package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
  260. package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
  261. package/vendor/include/networkit/graph/Graph.hpp +0 -2083
  262. package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
  263. package/vendor/include/networkit/graph/GraphR.hpp +0 -133
  264. package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
  265. package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
  266. package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
  267. package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
  268. package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
  269. package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
  270. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
  271. package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
  272. package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
  273. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
  274. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
  275. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
  276. package/vendor/include/networkit/independentset/Luby.hpp +0 -27
  277. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
  278. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
  279. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
  280. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
  281. package/vendor/include/networkit/io/CoverReader.hpp +0 -27
  282. package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
  283. package/vendor/include/networkit/io/DGSReader.hpp +0 -39
  284. package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
  285. package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
  286. package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
  287. package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
  288. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
  289. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
  290. package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
  291. package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
  292. package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
  293. package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
  294. package/vendor/include/networkit/io/GraphIO.hpp +0 -52
  295. package/vendor/include/networkit/io/GraphReader.hpp +0 -40
  296. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
  297. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
  298. package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
  299. package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
  300. package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
  301. package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
  302. package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
  303. package/vendor/include/networkit/io/METISParser.hpp +0 -63
  304. package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
  305. package/vendor/include/networkit/io/MTXParser.hpp +0 -87
  306. package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
  307. package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
  308. package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
  309. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
  310. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
  311. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
  312. package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
  313. package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
  314. package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
  315. package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
  316. package/vendor/include/networkit/io/RasterReader.hpp +0 -40
  317. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
  318. package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
  319. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
  320. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
  321. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
  322. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
  323. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
  324. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
  325. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
  326. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
  327. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
  328. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
  329. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
  330. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
  331. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
  332. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
  333. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
  334. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
  335. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
  336. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
  337. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
  338. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
  339. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
  340. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
  341. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
  342. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
  343. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
  344. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
  345. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
  346. package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
  347. package/vendor/include/networkit/matching/BMatching.hpp +0 -115
  348. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
  349. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
  350. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
  351. package/vendor/include/networkit/matching/Matcher.hpp +0 -55
  352. package/vendor/include/networkit/matching/Matching.hpp +0 -111
  353. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
  354. package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
  355. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
  356. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
  357. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
  358. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
  359. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
  360. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
  362. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
  363. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
  364. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
  365. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
  366. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
  367. package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
  368. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
  369. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
  370. package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
  371. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
  372. package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
  373. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
  374. package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
  375. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
  376. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
  377. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
  378. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
  379. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
  380. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
  381. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
  382. package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
  383. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
  384. package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
  385. package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
  386. package/vendor/include/networkit/scd/GCE.hpp +0 -42
  387. package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
  388. package/vendor/include/networkit/scd/LocalT.hpp +0 -40
  389. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
  390. package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
  391. package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
  392. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
  393. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
  394. package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
  395. package/vendor/include/networkit/scd/TCE.hpp +0 -41
  396. package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
  397. package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
  398. package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
  399. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
  400. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
  401. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
  402. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
  403. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
  404. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
  405. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
  406. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
  407. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
  408. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
  409. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
  410. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
  411. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
  412. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
  413. package/vendor/include/networkit/structures/Cover.hpp +0 -248
  414. package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
  415. package/vendor/include/networkit/structures/Partition.hpp +0 -335
  416. package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
  417. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
  418. package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
  419. package/vendor/include/networkit/viz/Octree.hpp +0 -428
  420. package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
  421. package/vendor/include/networkit/viz/Point.hpp +0 -415
  422. package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
  423. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
  424. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
  425. package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
  426. package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
  427. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
  428. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
  429. package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
  430. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
  431. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
  432. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
  433. package/vendor/include/tlx/algorithm.hpp +0 -36
  434. package/vendor/include/tlx/allocator_base.hpp +0 -100
  435. package/vendor/include/tlx/backtrace.hpp +0 -54
  436. package/vendor/include/tlx/cmdline_parser.hpp +0 -498
  437. package/vendor/include/tlx/container/btree.hpp +0 -3977
  438. package/vendor/include/tlx/container/btree_map.hpp +0 -634
  439. package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
  440. package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
  441. package/vendor/include/tlx/container/btree_set.hpp +0 -612
  442. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
  443. package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
  444. package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
  445. package/vendor/include/tlx/container/lru_cache.hpp +0 -319
  446. package/vendor/include/tlx/container/radix_heap.hpp +0 -735
  447. package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
  448. package/vendor/include/tlx/container/simple_vector.hpp +0 -304
  449. package/vendor/include/tlx/container/splay_tree.hpp +0 -399
  450. package/vendor/include/tlx/container/string_view.hpp +0 -805
  451. package/vendor/include/tlx/container.hpp +0 -40
  452. package/vendor/include/tlx/counting_ptr.hpp +0 -522
  453. package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
  454. package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
  455. package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
  456. package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
  457. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
  458. package/vendor/include/tlx/define/constexpr.hpp +0 -31
  459. package/vendor/include/tlx/define/deprecated.hpp +0 -39
  460. package/vendor/include/tlx/define/endian.hpp +0 -49
  461. package/vendor/include/tlx/define/likely.hpp +0 -33
  462. package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
  463. package/vendor/include/tlx/define.hpp +0 -36
  464. package/vendor/include/tlx/delegate.hpp +0 -524
  465. package/vendor/include/tlx/die/core.hpp +0 -311
  466. package/vendor/include/tlx/die.hpp +0 -106
  467. package/vendor/include/tlx/digest/md5.hpp +0 -81
  468. package/vendor/include/tlx/digest/sha1.hpp +0 -81
  469. package/vendor/include/tlx/digest/sha256.hpp +0 -81
  470. package/vendor/include/tlx/digest/sha512.hpp +0 -81
  471. package/vendor/include/tlx/digest.hpp +0 -30
  472. package/vendor/include/tlx/logger/all.hpp +0 -33
  473. package/vendor/include/tlx/logger/array.hpp +0 -43
  474. package/vendor/include/tlx/logger/core.hpp +0 -287
  475. package/vendor/include/tlx/logger/deque.hpp +0 -42
  476. package/vendor/include/tlx/logger/map.hpp +0 -65
  477. package/vendor/include/tlx/logger/set.hpp +0 -60
  478. package/vendor/include/tlx/logger/tuple.hpp +0 -66
  479. package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
  480. package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
  481. package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
  482. package/vendor/include/tlx/logger.hpp +0 -44
  483. package/vendor/include/tlx/math/abs_diff.hpp +0 -35
  484. package/vendor/include/tlx/math/aggregate.hpp +0 -231
  485. package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
  486. package/vendor/include/tlx/math/bswap.hpp +0 -148
  487. package/vendor/include/tlx/math/bswap_be.hpp +0 -79
  488. package/vendor/include/tlx/math/bswap_le.hpp +0 -79
  489. package/vendor/include/tlx/math/clz.hpp +0 -174
  490. package/vendor/include/tlx/math/ctz.hpp +0 -174
  491. package/vendor/include/tlx/math/div_ceil.hpp +0 -36
  492. package/vendor/include/tlx/math/ffs.hpp +0 -123
  493. package/vendor/include/tlx/math/integer_log2.hpp +0 -189
  494. package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
  495. package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
  496. package/vendor/include/tlx/math/popcount.hpp +0 -173
  497. package/vendor/include/tlx/math/power_to_the.hpp +0 -44
  498. package/vendor/include/tlx/math/rol.hpp +0 -112
  499. package/vendor/include/tlx/math/ror.hpp +0 -112
  500. package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
  501. package/vendor/include/tlx/math/round_up.hpp +0 -36
  502. package/vendor/include/tlx/math/sgn.hpp +0 -38
  503. package/vendor/include/tlx/math.hpp +0 -46
  504. package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
  505. package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
  506. package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
  507. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
  508. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
  509. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
  510. package/vendor/include/tlx/meta/enable_if.hpp +0 -37
  511. package/vendor/include/tlx/meta/fold_left.hpp +0 -63
  512. package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
  513. package/vendor/include/tlx/meta/fold_right.hpp +0 -63
  514. package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
  515. package/vendor/include/tlx/meta/function_chain.hpp +0 -197
  516. package/vendor/include/tlx/meta/function_stack.hpp +0 -189
  517. package/vendor/include/tlx/meta/has_member.hpp +0 -80
  518. package/vendor/include/tlx/meta/has_method.hpp +0 -117
  519. package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
  520. package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
  521. package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
  522. package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
  523. package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
  524. package/vendor/include/tlx/meta/log2.hpp +0 -101
  525. package/vendor/include/tlx/meta/no_operation.hpp +0 -55
  526. package/vendor/include/tlx/meta/static_index.hpp +0 -42
  527. package/vendor/include/tlx/meta/vexpand.hpp +0 -34
  528. package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
  529. package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
  530. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
  531. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
  532. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
  533. package/vendor/include/tlx/meta.hpp +0 -55
  534. package/vendor/include/tlx/multi_timer.hpp +0 -148
  535. package/vendor/include/tlx/port/setenv.hpp +0 -31
  536. package/vendor/include/tlx/port.hpp +0 -27
  537. package/vendor/include/tlx/semaphore.hpp +0 -119
  538. package/vendor/include/tlx/simple_vector.hpp +0 -20
  539. package/vendor/include/tlx/siphash.hpp +0 -282
  540. package/vendor/include/tlx/sort/networks/best.hpp +0 -611
  541. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
  542. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
  543. package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
  544. package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
  545. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
  546. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
  547. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
  548. package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
  549. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
  550. package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
  551. package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
  552. package/vendor/include/tlx/sort/strings.hpp +0 -329
  553. package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
  554. package/vendor/include/tlx/sort.hpp +0 -29
  555. package/vendor/include/tlx/stack_allocator.hpp +0 -226
  556. package/vendor/include/tlx/string/appendline.hpp +0 -35
  557. package/vendor/include/tlx/string/base64.hpp +0 -87
  558. package/vendor/include/tlx/string/bitdump.hpp +0 -139
  559. package/vendor/include/tlx/string/compare_icase.hpp +0 -42
  560. package/vendor/include/tlx/string/contains.hpp +0 -36
  561. package/vendor/include/tlx/string/contains_word.hpp +0 -42
  562. package/vendor/include/tlx/string/ends_with.hpp +0 -79
  563. package/vendor/include/tlx/string/equal_icase.hpp +0 -42
  564. package/vendor/include/tlx/string/erase_all.hpp +0 -70
  565. package/vendor/include/tlx/string/escape_html.hpp +0 -34
  566. package/vendor/include/tlx/string/escape_uri.hpp +0 -34
  567. package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
  568. package/vendor/include/tlx/string/extract_between.hpp +0 -40
  569. package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
  570. package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
  571. package/vendor/include/tlx/string/format_si_units.hpp +0 -32
  572. package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
  573. package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
  574. package/vendor/include/tlx/string/hexdump.hpp +0 -154
  575. package/vendor/include/tlx/string/index_of.hpp +0 -56
  576. package/vendor/include/tlx/string/join.hpp +0 -65
  577. package/vendor/include/tlx/string/join_generic.hpp +0 -89
  578. package/vendor/include/tlx/string/join_quoted.hpp +0 -46
  579. package/vendor/include/tlx/string/less_icase.hpp +0 -64
  580. package/vendor/include/tlx/string/levenshtein.hpp +0 -193
  581. package/vendor/include/tlx/string/pad.hpp +0 -39
  582. package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
  583. package/vendor/include/tlx/string/parse_uri.hpp +0 -66
  584. package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
  585. package/vendor/include/tlx/string/replace.hpp +0 -141
  586. package/vendor/include/tlx/string/split.hpp +0 -170
  587. package/vendor/include/tlx/string/split_quoted.hpp +0 -49
  588. package/vendor/include/tlx/string/split_view.hpp +0 -218
  589. package/vendor/include/tlx/string/split_words.hpp +0 -53
  590. package/vendor/include/tlx/string/ssprintf.hpp +0 -45
  591. package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
  592. package/vendor/include/tlx/string/starts_with.hpp +0 -44
  593. package/vendor/include/tlx/string/to_lower.hpp +0 -47
  594. package/vendor/include/tlx/string/to_upper.hpp +0 -47
  595. package/vendor/include/tlx/string/trim.hpp +0 -298
  596. package/vendor/include/tlx/string/union_words.hpp +0 -33
  597. package/vendor/include/tlx/string/word_wrap.hpp +0 -35
  598. package/vendor/include/tlx/string.hpp +0 -68
  599. package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
  600. package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
  601. package/vendor/include/tlx/thread_pool.hpp +0 -151
  602. package/vendor/include/tlx/timestamp.hpp +0 -23
  603. package/vendor/include/tlx/unused.hpp +0 -28
  604. package/vendor/include/tlx/vector_free.hpp +0 -30
  605. package/vendor/include/tlx/version.hpp +0 -49
  606. package/vendor/include/ttmath/ttmath.h +0 -2881
  607. package/vendor/include/ttmath/ttmathbig.h +0 -6111
  608. package/vendor/include/ttmath/ttmathdec.h +0 -419
  609. package/vendor/include/ttmath/ttmathint.h +0 -1923
  610. package/vendor/include/ttmath/ttmathmisc.h +0 -250
  611. package/vendor/include/ttmath/ttmathobjects.h +0 -812
  612. package/vendor/include/ttmath/ttmathparser.h +0 -2791
  613. package/vendor/include/ttmath/ttmaththreads.h +0 -252
  614. package/vendor/include/ttmath/ttmathtypes.h +0 -707
  615. package/vendor/include/ttmath/ttmathuint.h +0 -4190
  616. package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
  617. package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
  618. package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
  619. package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
  620. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
  621. package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
  622. package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
  623. package/vendor/lib/libtlx.a +0 -0
  624. package/vendor/lib/pkgconfig/networkit.pc +0 -11
  625. package/vendor/lib/pkgconfig/tlx.pc +0 -11
@@ -1,934 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/sort/strings/radix_sort.hpp
3
- *
4
- * Out-of-place and in-place radix sort for strings. This is an internal
5
- * implementation header, see tlx/sort/strings.hpp for public front-end
6
- * functions.
7
- *
8
- * These are explicit stack-based most-significant-digit radix sort
9
- * implementations. All implementations were written by Timo Bingmann and are
10
- * based on work by Juha Kärkkäinen and Tommi Rantala. "Engineering Radix Sort
11
- * for Strings." International Symposium on String Processing and Information
12
- * Retrieval (SPIRE). Springer, 2008.
13
- *
14
- * Part of tlx - http://panthema.net/tlx
15
- *
16
- * Copyright (C) 2015-2019 Timo Bingmann <tb@panthema.net>
17
- *
18
- * All rights reserved. Published under the Boost Software License, Version 1.0
19
- ******************************************************************************/
20
-
21
- #ifndef TLX_SORT_STRINGS_RADIX_SORT_HEADER
22
- #define TLX_SORT_STRINGS_RADIX_SORT_HEADER
23
-
24
- #include <tlx/container/simple_vector.hpp>
25
- #include <tlx/define/likely.hpp>
26
- #include <tlx/sort/strings/multikey_quicksort.hpp>
27
- #include <tlx/sort/strings/string_ptr.hpp>
28
- #include <cstdint>
29
- #include <stack>
30
- #include <utility>
31
- #include <vector>
32
-
33
- namespace tlx {
34
-
35
- //! \addtogroup tlx_sort
36
- //! \{
37
-
38
- namespace sort_strings_detail {
39
-
40
- /******************************************************************************/
41
-
42
- static const size_t g_inssort_threshold = 32;
43
-
44
- /******************************************************************************/
45
- // Out-of-place 8-bit radix-sort WITHOUT character caching.
46
-
47
- template <typename StringShadowPtr>
48
- struct RadixStep_CE0
49
- {
50
- StringShadowPtr strptr;
51
- size_t idx, pos, bkt_size[256];
52
-
53
- typedef typename StringShadowPtr::StringSet StringSet;
54
- typedef typename StringSet::Iterator Iterator;
55
-
56
- RadixStep_CE0(const StringShadowPtr& in_strptr, size_t depth)
57
- : strptr(in_strptr)
58
- {
59
- const StringSet& ss = strptr.active();
60
-
61
- // count character occurrences
62
- std::fill(bkt_size, bkt_size + 256, 0);
63
- for (Iterator i = ss.begin(); i != ss.end(); ++i)
64
- ++bkt_size[ss.get_uint8(ss[i], depth)];
65
-
66
- // prefix sum
67
- Iterator bkt_index[256];
68
- bkt_index[0] = strptr.shadow().begin();
69
- for (size_t i = 1; i < 256; ++i)
70
- bkt_index[i] = bkt_index[i - 1] + bkt_size[i - 1];
71
-
72
- // distribute
73
- for (Iterator i = ss.begin(); i != ss.end(); ++i)
74
- *(bkt_index[ss.get_uint8(ss[i], depth)]++) = std::move(ss[i]);
75
-
76
- // will increment to 1 on first process
77
- idx = 0;
78
- pos = bkt_size[0];
79
-
80
- // copy back finished strings in zeroth bucket
81
- strptr.flip(0, pos).copy_back();
82
-
83
- // store lcps
84
- if (strptr.with_lcp)
85
- {
86
- size_t size = ss.size();
87
-
88
- // set lcps of zero-terminated strings
89
- for (size_t i = 1; i < pos; ++i)
90
- strptr.set_lcp(i, depth);
91
-
92
- // set lcps between non-empty bucket boundaries
93
- size_t bkt = bkt_size[0], i = 1;
94
- if (bkt > 0 && bkt < size)
95
- strptr.set_lcp(bkt, depth);
96
- while (i < 256)
97
- {
98
- while (i < 256 && bkt_size[i] == 0)
99
- ++i;
100
- bkt += bkt_size[i];
101
- if (bkt >= size)
102
- break;
103
- strptr.set_lcp(bkt, depth);
104
- ++i;
105
- }
106
- }
107
- }
108
- };
109
-
110
- /*
111
- * Out-of-place 8-bit radix-sort WITHOUT character caching.
112
- */
113
- template <typename StringShadowPtr>
114
- static inline void radixsort_CE0_loop(const StringShadowPtr& strptr,
115
- size_t depth, size_t memory)
116
- {
117
- typedef RadixStep_CE0<StringShadowPtr> RadixStep;
118
-
119
- std::stack<RadixStep, std::vector<RadixStep> > radixstack;
120
- radixstack.emplace(strptr, depth);
121
-
122
- while (!radixstack.empty())
123
- {
124
- while (radixstack.top().idx < 255)
125
- {
126
- RadixStep& rs = radixstack.top();
127
-
128
- // process the bucket rs.idx
129
- size_t bkt_size = rs.bkt_size[++rs.idx];
130
-
131
- if (bkt_size == 0)
132
- {
133
- // done
134
- }
135
- else if (bkt_size < g_inssort_threshold)
136
- {
137
- insertion_sort(rs.strptr.flip(rs.pos, bkt_size).copy_back(),
138
- depth + radixstack.size(),
139
- memory - sizeof(RadixStep) * radixstack.size());
140
- rs.pos += bkt_size;
141
- }
142
- else if (TLX_UNLIKELY(memory != 0 &&
143
- memory < sizeof(RadixStep) *
144
- (radixstack.size() + 1)))
145
- {
146
- multikey_quicksort(rs.strptr.flip(rs.pos, bkt_size).copy_back(),
147
- depth + radixstack.size(),
148
- memory -
149
- sizeof(RadixStep) * radixstack.size());
150
- rs.pos += bkt_size;
151
- }
152
- else
153
- {
154
- rs.pos += bkt_size;
155
- radixstack.emplace(rs.strptr.flip(rs.pos - bkt_size, bkt_size),
156
- depth + radixstack.size());
157
- // cannot add here, because rs may have invalidated
158
- }
159
- }
160
- radixstack.pop();
161
- }
162
- }
163
-
164
- /*!
165
- * Adapter method to allocate shadow array if needed.
166
- */
167
- template <typename StringPtr>
168
- static inline void radixsort_CE0(const StringPtr& strptr, size_t depth,
169
- size_t memory)
170
- {
171
- typedef typename StringPtr::StringSet StringSet;
172
- const StringSet& ss = strptr.active();
173
- if (ss.size() < g_inssort_threshold)
174
- return insertion_sort(strptr, depth, memory);
175
-
176
- typedef RadixStep_CE0<typename StringPtr::WithShadow> RadixStep;
177
-
178
- // try to estimate the amount of memory used
179
- size_t memory_use = 2 * sizeof(size_t) + sizeof(StringSet) +
180
- ss.size() * sizeof(typename StringSet::String);
181
- size_t memory_slack = 3 * sizeof(RadixStep);
182
-
183
- if (memory != 0 && memory < memory_use + memory_slack + 1)
184
- return multikey_quicksort(strptr, depth, memory);
185
-
186
- typename StringSet::Container shadow = ss.allocate(ss.size());
187
- radixsort_CE0_loop(strptr.add_shadow(StringSet(shadow)), depth,
188
- memory - memory_use);
189
- StringSet::deallocate(shadow);
190
- }
191
-
192
- /******************************************************************************/
193
- // Out-of-place 8-bit radix-sort with character caching.
194
-
195
- template <typename StringShadowPtr>
196
- struct RadixStep_CE2
197
- {
198
- StringShadowPtr strptr;
199
- size_t idx, pos, bkt_size[256];
200
-
201
- typedef typename StringShadowPtr::StringSet StringSet;
202
- typedef typename StringSet::Iterator Iterator;
203
-
204
- RadixStep_CE2(const StringShadowPtr& in_strptr, size_t depth,
205
- std::uint8_t* charcache)
206
- : strptr(in_strptr)
207
- {
208
- const StringSet& ss = strptr.active();
209
- const size_t n = ss.size();
210
-
211
- // read characters and count character occurrences
212
- std::fill(bkt_size, bkt_size + 256, 0);
213
- std::uint8_t* cc = charcache;
214
- for (Iterator i = ss.begin(); i != ss.end(); ++i, ++cc)
215
- *cc = ss.get_uint8(ss[i], depth);
216
- for (cc = charcache; cc != charcache + n; ++cc)
217
- ++bkt_size[static_cast<std::uint8_t>(*cc)];
218
-
219
- // prefix sum
220
- Iterator bkt_index[256];
221
- bkt_index[0] = strptr.shadow().begin();
222
- for (size_t i = 1; i < 256; ++i)
223
- bkt_index[i] = bkt_index[i - 1] + bkt_size[i - 1];
224
-
225
- // distribute
226
- cc = charcache;
227
- for (Iterator i = ss.begin(); i != ss.end(); ++i, ++cc)
228
- *(bkt_index[static_cast<std::uint8_t>(*cc)]++) = std::move(ss[i]);
229
-
230
- idx = 0; // will increment to 1 on first process
231
- pos = bkt_size[0];
232
-
233
- // copy back finished strings in zeroth bucket
234
- strptr.flip(0, pos).copy_back();
235
-
236
- // store lcps
237
- if (strptr.with_lcp)
238
- {
239
- size_t size = ss.size();
240
-
241
- // set lcps of zero-terminated strings
242
- for (size_t i = 1; i < pos; ++i)
243
- strptr.set_lcp(i, depth);
244
-
245
- // set lcps between non-empty bucket boundaries
246
- size_t bkt = bkt_size[0], i = 1;
247
- if (bkt > 0 && bkt < size)
248
- strptr.set_lcp(bkt, depth);
249
- while (i < 256)
250
- {
251
- while (i < 256 && bkt_size[i] == 0)
252
- ++i;
253
- bkt += bkt_size[i];
254
- if (bkt >= size)
255
- break;
256
- strptr.set_lcp(bkt, depth);
257
- ++i;
258
- }
259
- }
260
- }
261
- };
262
-
263
- template <typename StringPtr>
264
- static inline void radixsort_CI3(const StringPtr& strptr,
265
- std::uint16_t* charcache, size_t depth,
266
- size_t memory);
267
-
268
- /*
269
- * Out-of-place 8-bit radix-sort with character caching.
270
- */
271
- template <typename StringShadowPtr>
272
- static inline void radixsort_CE2_loop(const StringShadowPtr& strptr,
273
- std::uint8_t* charcache, size_t depth,
274
- size_t memory)
275
- {
276
- typedef RadixStep_CE2<StringShadowPtr> RadixStep;
277
-
278
- std::stack<RadixStep, std::vector<RadixStep> > radixstack;
279
- radixstack.emplace(strptr, depth, charcache);
280
-
281
- while (TLX_LIKELY(!radixstack.empty()))
282
- {
283
- while (TLX_LIKELY(radixstack.top().idx < 255))
284
- {
285
- RadixStep& rs = radixstack.top();
286
-
287
- // process the bucket rs.idx
288
- size_t bkt_size = rs.bkt_size[++rs.idx];
289
-
290
- if (TLX_UNLIKELY(bkt_size == 0))
291
- {
292
- // done
293
- }
294
- else if (bkt_size < g_inssort_threshold)
295
- {
296
- insertion_sort(rs.strptr.flip(rs.pos, bkt_size).copy_back(),
297
- depth + radixstack.size(),
298
- memory - sizeof(RadixStep) * radixstack.size());
299
- rs.pos += bkt_size;
300
- }
301
- else if (TLX_UNLIKELY(memory != 0 &&
302
- memory < sizeof(RadixStep) *
303
- (radixstack.size() + 1)))
304
- {
305
- multikey_quicksort(rs.strptr.flip(rs.pos, bkt_size).copy_back(),
306
- depth + radixstack.size(),
307
- memory -
308
- sizeof(RadixStep) * radixstack.size());
309
- rs.pos += bkt_size;
310
- }
311
- else
312
- {
313
- // have to increment first, as rs may be invalidated
314
- rs.pos += bkt_size;
315
- radixstack.emplace(rs.strptr.flip(rs.pos - bkt_size, bkt_size),
316
- depth + radixstack.size(), charcache);
317
- }
318
- }
319
- radixstack.pop();
320
- }
321
- }
322
-
323
- template <typename StringPtr>
324
- static inline void radixsort_CE2(const StringPtr& strptr, size_t depth,
325
- size_t memory)
326
- {
327
- typedef typename StringPtr::StringSet StringSet;
328
- const StringSet& ss = strptr.active();
329
- if (ss.size() < g_inssort_threshold)
330
- return insertion_sort(strptr, depth, memory);
331
-
332
- typedef RadixStep_CE2<typename StringPtr::WithShadow> RadixStep;
333
-
334
- // try to estimate the amount of memory used
335
- size_t memory_use = 2 * sizeof(size_t) + sizeof(StringSet) +
336
- ss.size() * sizeof(std::uint8_t) +
337
- ss.size() * sizeof(typename StringSet::String);
338
- size_t memory_slack = 3 * sizeof(RadixStep);
339
-
340
- if (memory != 0 && memory < memory_use + memory_slack + 1)
341
- return radixsort_CI3(strptr, depth, memory);
342
-
343
- typename StringSet::Container shadow = ss.allocate(ss.size());
344
- std::uint8_t* charcache = new std::uint8_t[ss.size()];
345
-
346
- radixsort_CE2_loop(strptr.add_shadow(StringSet(shadow)), charcache, depth,
347
- memory - memory_use);
348
-
349
- delete[] charcache;
350
- StringSet::deallocate(shadow);
351
- }
352
-
353
- /******************************************************************************/
354
- // Out-of-place adaptive radix-sort with character caching
355
-
356
- template <typename StringShadowPtr>
357
- struct RadixStep_CE3
358
- {
359
- enum
360
- {
361
- RADIX = 0x10000
362
- };
363
-
364
- StringShadowPtr strptr;
365
- size_t idx, pos, bkt_size[RADIX];
366
-
367
- typedef typename StringShadowPtr::StringSet StringSet;
368
- typedef typename StringSet::Iterator Iterator;
369
-
370
- RadixStep_CE3(const StringShadowPtr& in_strptr, size_t depth,
371
- std::uint16_t* charcache)
372
- : strptr(in_strptr)
373
- {
374
- const StringSet& ss = strptr.active();
375
- const size_t n = ss.size();
376
-
377
- // read characters and count character occurrences
378
- std::fill(bkt_size, bkt_size + RADIX, 0);
379
- std::uint16_t* cc = charcache;
380
- for (Iterator i = ss.begin(); i != ss.end(); ++i, ++cc)
381
- *cc = ss.get_uint16(ss[i], depth);
382
- for (cc = charcache; cc != charcache + n; ++cc)
383
- ++bkt_size[static_cast<std::uint16_t>(*cc)];
384
-
385
- // prefix sum
386
- simple_vector<Iterator> bkt_index(RADIX);
387
- bkt_index[0] = strptr.shadow().begin();
388
- for (size_t i = 1; i < RADIX; ++i)
389
- bkt_index[i] = bkt_index[i - 1] + bkt_size[i - 1];
390
-
391
- // store lcps
392
- if (strptr.with_lcp)
393
- {
394
- // set lcps of zero-terminated strings
395
- for (size_t i = 1; i < bkt_size[0]; ++i)
396
- strptr.set_lcp(i, depth);
397
-
398
- // set lcps between non-empty bucket boundaries
399
- size_t first = get_next_non_empty_bkt_index(0);
400
- size_t bkt = bkt_index[first] + bkt_size[first] - bkt_index[0];
401
-
402
- size_t second = get_next_non_empty_bkt_index(first + 1);
403
- while (second < RADIX)
404
- {
405
- size_t partial_equal =
406
- static_cast<size_t>((first >> 8) == (second >> 8));
407
- strptr.set_lcp(bkt, depth + partial_equal);
408
- bkt += bkt_size[second];
409
- first = second;
410
- second = get_next_non_empty_bkt_index(second + 1);
411
- }
412
- }
413
-
414
- // distribute
415
- cc = charcache;
416
- for (Iterator i = ss.begin(); i != ss.end(); ++i, ++cc)
417
- *(bkt_index[static_cast<std::uint16_t>(*cc)]++) = std::move(ss[i]);
418
-
419
- // will increment to 1 on first process
420
- idx = 0;
421
- pos = bkt_size[0];
422
-
423
- // copy back finished strings in zeroth bucket
424
- strptr.flip(0, pos).copy_back();
425
- }
426
-
427
- size_t get_next_non_empty_bkt_index(size_t start)
428
- {
429
- if (start >= RADIX)
430
- return RADIX;
431
- while (start < RADIX && bkt_size[start] == 0)
432
- ++start;
433
- return start;
434
- }
435
- };
436
-
437
- /*
438
- * Out-of-place adaptive radix-sort with character caching which starts with
439
- * 16-bit radix sort and then switching to 8-bit for smaller string sets.
440
- */
441
- template <typename StringShadowPtr>
442
- static inline void radixsort_CE3_loop(const StringShadowPtr& strptr,
443
- std::uint16_t* charcache, size_t depth,
444
- size_t memory)
445
- {
446
- enum
447
- {
448
- RADIX = 0x10000
449
- };
450
-
451
- typedef RadixStep_CE3<StringShadowPtr> RadixStep;
452
-
453
- std::stack<RadixStep, std::vector<RadixStep> > radixstack;
454
- radixstack.emplace(strptr, depth, charcache);
455
-
456
- while (TLX_LIKELY(!radixstack.empty()))
457
- {
458
- while (TLX_LIKELY(radixstack.top().idx < RADIX - 1))
459
- {
460
- RadixStep& rs = radixstack.top();
461
-
462
- // process the bucket rs.idx
463
- size_t bkt_size = rs.bkt_size[++rs.idx];
464
-
465
- if (TLX_UNLIKELY(bkt_size == 0))
466
- {
467
- // done
468
- }
469
- else if (TLX_UNLIKELY((rs.idx & 0xFF) == 0))
470
- {
471
- // zero-termination
472
- rs.strptr.flip(rs.pos, bkt_size).copy_back();
473
- for (size_t i = rs.pos + 1; i < rs.pos + bkt_size; ++i)
474
- rs.strptr.set_lcp(i, depth + 2 * radixstack.size() - 1);
475
- rs.pos += bkt_size;
476
- }
477
- else if (TLX_UNLIKELY(bkt_size < g_inssort_threshold))
478
- {
479
- insertion_sort(rs.strptr.flip(rs.pos, bkt_size).copy_back(),
480
- depth + 2 * radixstack.size(),
481
- memory - sizeof(RadixStep) * radixstack.size());
482
- rs.pos += bkt_size;
483
- }
484
- else if (bkt_size < RADIX)
485
- {
486
- radixsort_CE2_loop(rs.strptr.flip(rs.pos, bkt_size),
487
- reinterpret_cast<std::uint8_t*>(charcache),
488
- depth + 2 * radixstack.size(),
489
- memory -
490
- sizeof(RadixStep) * radixstack.size());
491
- rs.pos += bkt_size;
492
- }
493
- else if (TLX_UNLIKELY(memory != 0 &&
494
- memory < sizeof(RadixStep) *
495
- (radixstack.size() + 1)))
496
- {
497
- multikey_quicksort(rs.strptr.flip(rs.pos, bkt_size).copy_back(),
498
- depth + 2 * radixstack.size(),
499
- memory -
500
- sizeof(RadixStep) * radixstack.size());
501
- rs.pos += bkt_size;
502
- }
503
- else
504
- {
505
- // have to increment first, as rs may be invalidated
506
- rs.pos += bkt_size;
507
- radixstack.emplace(rs.strptr.flip(rs.pos - bkt_size, bkt_size),
508
- depth + 2 * radixstack.size(), charcache);
509
- }
510
- }
511
- radixstack.pop();
512
- }
513
- }
514
-
515
- template <typename StringPtr>
516
- static inline void radixsort_CE3(const StringPtr& strptr, size_t depth,
517
- size_t memory)
518
- {
519
- enum
520
- {
521
- RADIX = 0x10000
522
- };
523
-
524
- typedef typename StringPtr::StringSet StringSet;
525
-
526
- const StringSet& ss = strptr.active();
527
- if (ss.size() < g_inssort_threshold)
528
- return insertion_sort(strptr, depth, memory);
529
-
530
- if (ss.size() < RADIX)
531
- return radixsort_CE2(strptr, depth, memory);
532
-
533
- typedef RadixStep_CE3<typename StringPtr::WithShadow> RadixStep;
534
-
535
- // try to estimate the amount of memory used
536
- size_t memory_use = 2 * sizeof(size_t) + sizeof(StringSet) +
537
- ss.size() * sizeof(std::uint16_t) +
538
- ss.size() * sizeof(typename StringSet::String);
539
- size_t memory_slack = 3 * sizeof(RadixStep);
540
-
541
- if (memory != 0 && memory < memory_use + memory_slack + 1)
542
- return radixsort_CE2(strptr, depth, memory);
543
-
544
- typename StringSet::Container shadow = ss.allocate(ss.size());
545
- std::uint16_t* charcache = new std::uint16_t[ss.size()];
546
-
547
- radixsort_CE3_loop(strptr.add_shadow(StringSet(shadow)), charcache, depth,
548
- memory - memory_use);
549
-
550
- delete[] charcache;
551
- StringSet::deallocate(shadow);
552
- }
553
-
554
- /******************************************************************************/
555
- // In-place 8-bit radix-sort with character caching.
556
-
557
- template <typename StringPtr>
558
- struct RadixStep_CI2
559
- {
560
- typedef typename StringPtr::StringSet StringSet;
561
- typedef typename StringSet::Iterator Iterator;
562
- typedef typename StringSet::String String;
563
-
564
- size_t idx, pos;
565
- size_t bkt_size[256];
566
-
567
- RadixStep_CI2(const StringPtr& strptr, size_t base, size_t depth,
568
- std::uint8_t* charcache)
569
- {
570
- const StringSet& ss = strptr.active();
571
- size_t size = ss.size();
572
-
573
- // read characters and count character occurrences
574
- std::fill(bkt_size, bkt_size + 256, 0);
575
- std::uint8_t* cc = charcache;
576
- for (Iterator i = ss.begin(); i != ss.end(); ++i, ++cc)
577
- *cc = ss.get_uint8(ss[i], depth);
578
- for (cc = charcache; cc != charcache + size; ++cc)
579
- ++bkt_size[static_cast<std::uint8_t>(*cc)];
580
-
581
- // inclusive prefix sum
582
- size_t bkt[256];
583
- bkt[0] = bkt_size[0];
584
- size_t last_bkt_size = bkt_size[0];
585
- for (size_t i = 1; i < 256; ++i)
586
- {
587
- bkt[i] = bkt[i - 1] + bkt_size[i];
588
- if (bkt_size[i] != 0)
589
- last_bkt_size = bkt_size[i];
590
- }
591
-
592
- // premute in-place
593
- for (size_t i = 0, j; i < size - last_bkt_size;)
594
- {
595
- String perm = std::move(ss[ss.begin() + i]);
596
- std::uint8_t permch = charcache[i];
597
- while ((j = --bkt[permch]) > i)
598
- {
599
- std::swap(perm, ss[ss.begin() + j]);
600
- std::swap(permch, charcache[j]);
601
- }
602
- ss[ss.begin() + i] = std::move(perm);
603
- i += bkt_size[permch];
604
- }
605
-
606
- // will increment idx to 1 in first step, bkt 0 is not sorted further
607
- idx = 0;
608
- pos = base + bkt_size[0];
609
-
610
- // store lcps
611
- if (strptr.with_lcp)
612
- {
613
- // set lcps of zero-terminated strings
614
- for (size_t i = 1; i < bkt_size[0]; ++i)
615
- strptr.set_lcp(i, depth);
616
-
617
- // set lcps between non-empty bucket boundaries
618
- size_t lbkt = bkt_size[0], i = 1;
619
- if (lbkt > 0 && lbkt < size)
620
- strptr.set_lcp(lbkt, depth);
621
- while (i < 256)
622
- {
623
- while (i < 256 && bkt_size[i] == 0)
624
- ++i;
625
- lbkt += bkt_size[i];
626
- if (lbkt >= size)
627
- break;
628
- strptr.set_lcp(lbkt, depth);
629
- ++i;
630
- }
631
- }
632
- }
633
- };
634
-
635
- /*
636
- * In-place 8-bit radix-sort with character caching.
637
- */
638
- template <typename StringPtr>
639
- static inline void radixsort_CI2(const StringPtr& strptr,
640
- std::uint8_t* charcache, size_t depth,
641
- size_t memory)
642
- {
643
- typedef RadixStep_CI2<StringPtr> RadixStep;
644
-
645
- std::stack<RadixStep, std::vector<RadixStep> > radixstack;
646
- radixstack.emplace(strptr, /* base */ 0, depth, charcache);
647
-
648
- while (TLX_LIKELY(!radixstack.empty()))
649
- {
650
- while (TLX_LIKELY(radixstack.top().idx < 255))
651
- {
652
- RadixStep& rs = radixstack.top();
653
-
654
- // process the bucket rs.idx
655
- size_t bkt_size = rs.bkt_size[++rs.idx];
656
-
657
- if (TLX_UNLIKELY(bkt_size <= 1))
658
- {
659
- // done
660
- rs.pos += bkt_size;
661
- }
662
- else if (bkt_size < g_inssort_threshold)
663
- {
664
- insertion_sort(strptr.sub(rs.pos, bkt_size),
665
- depth + radixstack.size(),
666
- memory - sizeof(RadixStep) * radixstack.size());
667
- rs.pos += bkt_size;
668
- }
669
- else if (TLX_UNLIKELY(memory != 0 &&
670
- memory < sizeof(RadixStep) *
671
- (radixstack.size() + 1)))
672
- {
673
- multikey_quicksort(
674
- strptr.sub(rs.pos, bkt_size), depth + radixstack.size(),
675
- memory - sizeof(RadixStep) * radixstack.size());
676
- rs.pos += bkt_size;
677
- }
678
- else
679
- {
680
- // have to increment first, as rs may be invalidated
681
- rs.pos += bkt_size;
682
- radixstack.emplace(strptr.sub(rs.pos - bkt_size, bkt_size),
683
- rs.pos - bkt_size, depth + radixstack.size(),
684
- charcache);
685
- }
686
- }
687
- radixstack.pop();
688
- }
689
- }
690
-
691
- /*
692
- * In-place 8-bit radix-sort with character caching.
693
- */
694
- template <typename StringPtr>
695
- static inline void radixsort_CI2(const StringPtr& strptr, size_t depth,
696
- size_t memory)
697
- {
698
- typedef typename StringPtr::StringSet StringSet;
699
-
700
- if (strptr.size() < g_inssort_threshold)
701
- return insertion_sort(strptr, depth, memory);
702
-
703
- typedef RadixStep_CI2<StringPtr> RadixStep;
704
-
705
- // try to estimate the amount of memory used
706
- size_t memory_use = 2 * sizeof(size_t) + sizeof(StringSet) +
707
- strptr.size() * sizeof(std::uint8_t);
708
- size_t memory_slack = 3 * sizeof(RadixStep);
709
-
710
- if (memory != 0 && memory < memory_use + memory_slack + 1)
711
- return multikey_quicksort(strptr, depth, memory);
712
-
713
- std::uint8_t* charcache = new std::uint8_t[strptr.size()];
714
-
715
- radixsort_CI2(strptr, charcache, depth, memory - memory_use);
716
-
717
- delete[] charcache;
718
- }
719
-
720
- /******************************************************************************/
721
- // In-place adaptive radix-sort with character caching
722
-
723
- template <typename StringPtr>
724
- struct RadixStep_CI3
725
- {
726
- enum
727
- {
728
- RADIX = 0x10000
729
- };
730
-
731
- typedef typename StringPtr::StringSet StringSet;
732
- typedef typename StringSet::Iterator Iterator;
733
- typedef typename StringSet::String String;
734
-
735
- size_t idx, pos;
736
- size_t bkt_size[RADIX];
737
-
738
- RadixStep_CI3(const StringPtr& strptr, size_t base, size_t depth,
739
- std::uint16_t* charcache)
740
- {
741
- const StringSet& ss = strptr.active();
742
- const size_t n = ss.size();
743
- // read characters and count character occurrences
744
- std::fill(bkt_size, bkt_size + RADIX, 0);
745
- std::uint16_t* cc = charcache;
746
- for (Iterator i = ss.begin(); i != ss.end(); ++i, ++cc)
747
- *cc = ss.get_uint16(ss[i], depth);
748
- for (cc = charcache; cc != charcache + n; ++cc)
749
- ++bkt_size[static_cast<std::uint16_t>(*cc)];
750
-
751
- // inclusive prefix sum
752
- simple_vector<size_t> bkt_index(RADIX);
753
- bkt_index[0] = bkt_size[0];
754
- size_t last_bkt_size = bkt_size[0];
755
- for (size_t i = 1; i < RADIX; ++i)
756
- {
757
- bkt_index[i] = bkt_index[i - 1] + bkt_size[i];
758
- if (bkt_size[i])
759
- last_bkt_size = bkt_size[i];
760
- }
761
-
762
- // store lcps
763
- if (strptr.with_lcp)
764
- {
765
- // set lcps of zero-terminated strings
766
- for (size_t i = 1; i < bkt_size[0]; ++i)
767
- strptr.set_lcp(i, depth);
768
-
769
- // set lcps between non-empty bucket boundaries
770
- size_t first = get_next_non_empty_bkt_index(0);
771
- size_t bkt = bkt_index[first];
772
-
773
- size_t second = get_next_non_empty_bkt_index(first + 1);
774
- while (second < RADIX)
775
- {
776
- size_t partial_equal =
777
- static_cast<size_t>((first >> 8) == (second >> 8));
778
- strptr.set_lcp(bkt, depth + partial_equal);
779
- bkt += bkt_size[second];
780
- first = second;
781
- second = get_next_non_empty_bkt_index(second + 1);
782
- }
783
- }
784
-
785
- // premute in-place
786
- for (size_t i = 0, j; i < n - last_bkt_size;)
787
- {
788
- String perm = std::move(ss[ss.begin() + i]);
789
- std::uint16_t permch = charcache[i];
790
- while ((j = --bkt_index[permch]) > i)
791
- {
792
- std::swap(perm, ss[ss.begin() + j]);
793
- std::swap(permch, charcache[j]);
794
- }
795
- ss[ss.begin() + i] = std::move(perm);
796
- i += bkt_size[permch];
797
- }
798
-
799
- // will increment to 1 on first process, bkt 0 is not sorted further
800
- idx = 0;
801
- pos = base + bkt_size[0];
802
- }
803
-
804
- size_t get_next_non_empty_bkt_index(size_t start)
805
- {
806
- if (start >= RADIX)
807
- return RADIX;
808
- while (start < RADIX && bkt_size[start] == 0)
809
- ++start;
810
- return start;
811
- }
812
- };
813
-
814
- /*
815
- * In-place adaptive radix-sort with character caching which starts with 16-bit
816
- * radix sort and then switching to 8-bit for smaller string sets.
817
- */
818
- template <typename StringPtr>
819
- static inline void radixsort_CI3(const StringPtr& strptr,
820
- std::uint16_t* charcache, size_t depth,
821
- size_t memory)
822
- {
823
- enum
824
- {
825
- RADIX = 0x10000
826
- };
827
-
828
- typedef RadixStep_CI3<StringPtr> RadixStep;
829
-
830
- std::stack<RadixStep, std::vector<RadixStep> > radixstack;
831
- radixstack.emplace(strptr, /* base */ 0, depth, charcache);
832
-
833
- while (TLX_LIKELY(!radixstack.empty()))
834
- {
835
- while (TLX_LIKELY(radixstack.top().idx < RADIX - 1))
836
- {
837
- RadixStep& rs = radixstack.top();
838
-
839
- // process the bucket rs.idx
840
- size_t bkt_size = rs.bkt_size[++rs.idx];
841
-
842
- if (TLX_UNLIKELY(bkt_size <= 1))
843
- {
844
- // done
845
- rs.pos += bkt_size;
846
- }
847
- else if (TLX_UNLIKELY((rs.idx & 0xFF) == 0))
848
- {
849
- // zero-termination
850
- for (size_t i = rs.pos + 1; i < rs.pos + bkt_size; ++i)
851
- strptr.set_lcp(i, depth + 2 * radixstack.size() - 1);
852
-
853
- rs.pos += bkt_size;
854
- }
855
- else if (TLX_UNLIKELY(bkt_size < g_inssort_threshold))
856
- {
857
- insertion_sort(strptr.sub(rs.pos, bkt_size),
858
- depth + 2 * radixstack.size(),
859
- memory - sizeof(RadixStep) * radixstack.size());
860
- rs.pos += bkt_size;
861
- }
862
- else if (bkt_size < RADIX)
863
- {
864
- radixsort_CI2(strptr.sub(rs.pos, bkt_size),
865
- reinterpret_cast<std::uint8_t*>(charcache),
866
- depth + 2 * radixstack.size(),
867
- memory - sizeof(RadixStep) * radixstack.size());
868
- rs.pos += bkt_size;
869
- }
870
- else if (TLX_UNLIKELY(memory != 0 &&
871
- memory < sizeof(RadixStep) *
872
- (radixstack.size() + 1)))
873
- {
874
- multikey_quicksort(
875
- strptr.sub(rs.pos, bkt_size), depth + 2 * radixstack.size(),
876
- memory - sizeof(RadixStep) * radixstack.size());
877
- rs.pos += bkt_size;
878
- }
879
- else
880
- {
881
- // have to increment first, as rs may be invalidated
882
- rs.pos += bkt_size;
883
- radixstack.emplace(strptr.sub(rs.pos - bkt_size, bkt_size),
884
- /* base */ rs.pos - bkt_size,
885
- depth + 2 * radixstack.size(), charcache);
886
- }
887
- }
888
- radixstack.pop();
889
- }
890
- }
891
-
892
- template <typename StringPtr>
893
- static inline void radixsort_CI3(const StringPtr& strptr, size_t depth,
894
- size_t memory)
895
- {
896
- enum
897
- {
898
- RADIX = 0x10000
899
- };
900
-
901
- typedef typename StringPtr::StringSet StringSet;
902
-
903
- if (strptr.size() < g_inssort_threshold)
904
- return insertion_sort(strptr, depth, memory);
905
-
906
- if (strptr.size() < RADIX)
907
- return radixsort_CI2(strptr, depth, memory);
908
-
909
- typedef RadixStep_CI3<StringPtr> RadixStep;
910
-
911
- // try to estimate the amount of memory used
912
- size_t memory_use = 2 * sizeof(size_t) + sizeof(StringSet) +
913
- strptr.size() * sizeof(std::uint16_t);
914
- size_t memory_slack = 3 * sizeof(RadixStep);
915
-
916
- if (memory != 0 && memory < memory_use + memory_slack + 1)
917
- return radixsort_CI2(strptr, depth, memory);
918
-
919
- std::uint16_t* charcache = new std::uint16_t[strptr.size()];
920
- radixsort_CI3(strptr, charcache, depth, memory - memory_use);
921
- delete[] charcache;
922
- }
923
-
924
- /******************************************************************************/
925
-
926
- } // namespace sort_strings_detail
927
-
928
- //! \}
929
-
930
- } // namespace tlx
931
-
932
- #endif // !TLX_SORT_STRINGS_RADIX_SORT_HEADER
933
-
934
- /******************************************************************************/