@ladybugmem/icebug 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/binding.gyp +32 -10
  2. package/lib/index.js +23 -11
  3. package/package.json +9 -15
  4. package/prebuilds/darwin-arm64/icebug.node +0 -0
  5. package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
  6. package/prebuilds/linux-x64/icebug.node +0 -0
  7. package/prebuilds/linux-x64/libnetworkit.so +0 -0
  8. package/scripts/download-icebug.sh +92 -0
  9. package/build/Release/.deps/Release/icebug.node.d +0 -1
  10. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
  11. package/build/Release/icebug.node +0 -0
  12. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  13. package/vendor/include/networkit/GlobalState.hpp +0 -86
  14. package/vendor/include/networkit/Globals.hpp +0 -41
  15. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
  16. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
  17. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
  18. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
  19. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
  20. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
  21. package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
  22. package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
  23. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
  24. package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
  29. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
  30. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
  31. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
  32. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
  33. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
  34. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
  35. package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
  36. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
  37. package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
  38. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
  39. package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
  40. package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
  41. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
  42. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
  43. package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
  44. package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
  45. package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
  46. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
  47. package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
  48. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
  49. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
  50. package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
  51. package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
  52. package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
  53. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
  54. package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
  55. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
  56. package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
  57. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
  58. package/vendor/include/networkit/base/Algorithm.hpp +0 -41
  59. package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
  60. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
  61. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
  62. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
  63. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
  64. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
  65. package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
  66. package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
  67. package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
  68. package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
  69. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
  70. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
  71. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
  72. package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
  73. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
  74. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
  75. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
  76. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
  77. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
  78. package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
  79. package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
  80. package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
  81. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
  82. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
  83. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
  84. package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
  85. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
  86. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
  87. package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
  88. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
  89. package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
  90. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
  91. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
  92. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
  93. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
  94. package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
  95. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
  96. package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
  97. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
  98. package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
  99. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
  100. package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
  101. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
  102. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
  103. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
  104. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
  105. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
  106. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
  107. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
  108. package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
  109. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
  110. package/vendor/include/networkit/community/Conductance.hpp +0 -32
  111. package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
  112. package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
  113. package/vendor/include/networkit/community/Coverage.hpp +0 -25
  114. package/vendor/include/networkit/community/CutClustering.hpp +0 -62
  115. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
  116. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
  117. package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
  118. package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
  119. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
  120. package/vendor/include/networkit/community/HubDominance.hpp +0 -46
  121. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
  122. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
  123. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
  124. package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
  125. package/vendor/include/networkit/community/LFM.hpp +0 -49
  126. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
  127. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
  128. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
  129. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
  130. package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
  131. package/vendor/include/networkit/community/Modularity.hpp +0 -54
  132. package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
  133. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
  134. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
  135. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
  136. package/vendor/include/networkit/community/PLM.hpp +0 -89
  137. package/vendor/include/networkit/community/PLP.hpp +0 -83
  138. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
  139. package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
  140. package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
  141. package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
  142. package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
  143. package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
  144. package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
  145. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
  146. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
  147. package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
  148. package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
  149. package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
  150. package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
  151. package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
  152. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
  153. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
  154. package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
  155. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
  156. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
  157. package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
  158. package/vendor/include/networkit/distance/APSP.hpp +0 -70
  159. package/vendor/include/networkit/distance/AStar.hpp +0 -68
  160. package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
  161. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
  162. package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
  163. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
  164. package/vendor/include/networkit/distance/BFS.hpp +0 -43
  165. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
  166. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
  167. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
  168. package/vendor/include/networkit/distance/Diameter.hpp +0 -97
  169. package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
  170. package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
  171. package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
  172. package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
  173. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
  174. package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
  175. package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
  176. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
  177. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
  178. package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
  179. package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
  180. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
  181. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
  182. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
  183. package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
  184. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
  185. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
  186. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
  187. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
  188. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
  189. package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
  190. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
  191. package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
  192. package/vendor/include/networkit/distance/SPSP.hpp +0 -143
  193. package/vendor/include/networkit/distance/SSSP.hpp +0 -216
  194. package/vendor/include/networkit/distance/STSP.hpp +0 -193
  195. package/vendor/include/networkit/distance/Volume.hpp +0 -66
  196. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
  197. package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
  198. package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
  199. package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
  200. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
  201. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
  202. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
  203. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
  204. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
  205. package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
  206. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
  207. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
  208. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
  209. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
  210. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
  211. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
  212. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
  213. package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
  214. package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
  215. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
  216. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
  217. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
  218. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
  219. package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
  220. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
  221. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
  222. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
  223. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
  224. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
  225. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
  226. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
  227. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
  228. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
  229. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
  230. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
  231. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
  232. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
  233. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
  234. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
  235. package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
  236. package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
  237. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
  238. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
  239. package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
  240. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
  241. package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
  242. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
  243. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
  244. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
  245. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
  246. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
  247. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
  248. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
  249. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
  250. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
  251. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
  252. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
  253. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
  254. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
  255. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
  256. package/vendor/include/networkit/graph/Attributes.hpp +0 -568
  257. package/vendor/include/networkit/graph/BFS.hpp +0 -111
  258. package/vendor/include/networkit/graph/DFS.hpp +0 -71
  259. package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
  260. package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
  261. package/vendor/include/networkit/graph/Graph.hpp +0 -2083
  262. package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
  263. package/vendor/include/networkit/graph/GraphR.hpp +0 -133
  264. package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
  265. package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
  266. package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
  267. package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
  268. package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
  269. package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
  270. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
  271. package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
  272. package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
  273. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
  274. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
  275. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
  276. package/vendor/include/networkit/independentset/Luby.hpp +0 -27
  277. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
  278. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
  279. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
  280. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
  281. package/vendor/include/networkit/io/CoverReader.hpp +0 -27
  282. package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
  283. package/vendor/include/networkit/io/DGSReader.hpp +0 -39
  284. package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
  285. package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
  286. package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
  287. package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
  288. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
  289. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
  290. package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
  291. package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
  292. package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
  293. package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
  294. package/vendor/include/networkit/io/GraphIO.hpp +0 -52
  295. package/vendor/include/networkit/io/GraphReader.hpp +0 -40
  296. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
  297. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
  298. package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
  299. package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
  300. package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
  301. package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
  302. package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
  303. package/vendor/include/networkit/io/METISParser.hpp +0 -63
  304. package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
  305. package/vendor/include/networkit/io/MTXParser.hpp +0 -87
  306. package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
  307. package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
  308. package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
  309. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
  310. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
  311. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
  312. package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
  313. package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
  314. package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
  315. package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
  316. package/vendor/include/networkit/io/RasterReader.hpp +0 -40
  317. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
  318. package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
  319. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
  320. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
  321. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
  322. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
  323. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
  324. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
  325. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
  326. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
  327. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
  328. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
  329. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
  330. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
  331. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
  332. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
  333. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
  334. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
  335. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
  336. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
  337. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
  338. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
  339. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
  340. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
  341. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
  342. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
  343. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
  344. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
  345. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
  346. package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
  347. package/vendor/include/networkit/matching/BMatching.hpp +0 -115
  348. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
  349. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
  350. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
  351. package/vendor/include/networkit/matching/Matcher.hpp +0 -55
  352. package/vendor/include/networkit/matching/Matching.hpp +0 -111
  353. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
  354. package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
  355. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
  356. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
  357. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
  358. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
  359. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
  360. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
  362. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
  363. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
  364. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
  365. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
  366. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
  367. package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
  368. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
  369. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
  370. package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
  371. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
  372. package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
  373. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
  374. package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
  375. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
  376. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
  377. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
  378. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
  379. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
  380. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
  381. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
  382. package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
  383. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
  384. package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
  385. package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
  386. package/vendor/include/networkit/scd/GCE.hpp +0 -42
  387. package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
  388. package/vendor/include/networkit/scd/LocalT.hpp +0 -40
  389. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
  390. package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
  391. package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
  392. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
  393. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
  394. package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
  395. package/vendor/include/networkit/scd/TCE.hpp +0 -41
  396. package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
  397. package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
  398. package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
  399. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
  400. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
  401. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
  402. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
  403. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
  404. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
  405. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
  406. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
  407. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
  408. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
  409. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
  410. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
  411. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
  412. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
  413. package/vendor/include/networkit/structures/Cover.hpp +0 -248
  414. package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
  415. package/vendor/include/networkit/structures/Partition.hpp +0 -335
  416. package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
  417. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
  418. package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
  419. package/vendor/include/networkit/viz/Octree.hpp +0 -428
  420. package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
  421. package/vendor/include/networkit/viz/Point.hpp +0 -415
  422. package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
  423. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
  424. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
  425. package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
  426. package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
  427. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
  428. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
  429. package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
  430. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
  431. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
  432. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
  433. package/vendor/include/tlx/algorithm.hpp +0 -36
  434. package/vendor/include/tlx/allocator_base.hpp +0 -100
  435. package/vendor/include/tlx/backtrace.hpp +0 -54
  436. package/vendor/include/tlx/cmdline_parser.hpp +0 -498
  437. package/vendor/include/tlx/container/btree.hpp +0 -3977
  438. package/vendor/include/tlx/container/btree_map.hpp +0 -634
  439. package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
  440. package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
  441. package/vendor/include/tlx/container/btree_set.hpp +0 -612
  442. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
  443. package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
  444. package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
  445. package/vendor/include/tlx/container/lru_cache.hpp +0 -319
  446. package/vendor/include/tlx/container/radix_heap.hpp +0 -735
  447. package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
  448. package/vendor/include/tlx/container/simple_vector.hpp +0 -304
  449. package/vendor/include/tlx/container/splay_tree.hpp +0 -399
  450. package/vendor/include/tlx/container/string_view.hpp +0 -805
  451. package/vendor/include/tlx/container.hpp +0 -40
  452. package/vendor/include/tlx/counting_ptr.hpp +0 -522
  453. package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
  454. package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
  455. package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
  456. package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
  457. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
  458. package/vendor/include/tlx/define/constexpr.hpp +0 -31
  459. package/vendor/include/tlx/define/deprecated.hpp +0 -39
  460. package/vendor/include/tlx/define/endian.hpp +0 -49
  461. package/vendor/include/tlx/define/likely.hpp +0 -33
  462. package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
  463. package/vendor/include/tlx/define.hpp +0 -36
  464. package/vendor/include/tlx/delegate.hpp +0 -524
  465. package/vendor/include/tlx/die/core.hpp +0 -311
  466. package/vendor/include/tlx/die.hpp +0 -106
  467. package/vendor/include/tlx/digest/md5.hpp +0 -81
  468. package/vendor/include/tlx/digest/sha1.hpp +0 -81
  469. package/vendor/include/tlx/digest/sha256.hpp +0 -81
  470. package/vendor/include/tlx/digest/sha512.hpp +0 -81
  471. package/vendor/include/tlx/digest.hpp +0 -30
  472. package/vendor/include/tlx/logger/all.hpp +0 -33
  473. package/vendor/include/tlx/logger/array.hpp +0 -43
  474. package/vendor/include/tlx/logger/core.hpp +0 -287
  475. package/vendor/include/tlx/logger/deque.hpp +0 -42
  476. package/vendor/include/tlx/logger/map.hpp +0 -65
  477. package/vendor/include/tlx/logger/set.hpp +0 -60
  478. package/vendor/include/tlx/logger/tuple.hpp +0 -66
  479. package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
  480. package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
  481. package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
  482. package/vendor/include/tlx/logger.hpp +0 -44
  483. package/vendor/include/tlx/math/abs_diff.hpp +0 -35
  484. package/vendor/include/tlx/math/aggregate.hpp +0 -231
  485. package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
  486. package/vendor/include/tlx/math/bswap.hpp +0 -148
  487. package/vendor/include/tlx/math/bswap_be.hpp +0 -79
  488. package/vendor/include/tlx/math/bswap_le.hpp +0 -79
  489. package/vendor/include/tlx/math/clz.hpp +0 -174
  490. package/vendor/include/tlx/math/ctz.hpp +0 -174
  491. package/vendor/include/tlx/math/div_ceil.hpp +0 -36
  492. package/vendor/include/tlx/math/ffs.hpp +0 -123
  493. package/vendor/include/tlx/math/integer_log2.hpp +0 -189
  494. package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
  495. package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
  496. package/vendor/include/tlx/math/popcount.hpp +0 -173
  497. package/vendor/include/tlx/math/power_to_the.hpp +0 -44
  498. package/vendor/include/tlx/math/rol.hpp +0 -112
  499. package/vendor/include/tlx/math/ror.hpp +0 -112
  500. package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
  501. package/vendor/include/tlx/math/round_up.hpp +0 -36
  502. package/vendor/include/tlx/math/sgn.hpp +0 -38
  503. package/vendor/include/tlx/math.hpp +0 -46
  504. package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
  505. package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
  506. package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
  507. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
  508. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
  509. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
  510. package/vendor/include/tlx/meta/enable_if.hpp +0 -37
  511. package/vendor/include/tlx/meta/fold_left.hpp +0 -63
  512. package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
  513. package/vendor/include/tlx/meta/fold_right.hpp +0 -63
  514. package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
  515. package/vendor/include/tlx/meta/function_chain.hpp +0 -197
  516. package/vendor/include/tlx/meta/function_stack.hpp +0 -189
  517. package/vendor/include/tlx/meta/has_member.hpp +0 -80
  518. package/vendor/include/tlx/meta/has_method.hpp +0 -117
  519. package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
  520. package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
  521. package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
  522. package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
  523. package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
  524. package/vendor/include/tlx/meta/log2.hpp +0 -101
  525. package/vendor/include/tlx/meta/no_operation.hpp +0 -55
  526. package/vendor/include/tlx/meta/static_index.hpp +0 -42
  527. package/vendor/include/tlx/meta/vexpand.hpp +0 -34
  528. package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
  529. package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
  530. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
  531. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
  532. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
  533. package/vendor/include/tlx/meta.hpp +0 -55
  534. package/vendor/include/tlx/multi_timer.hpp +0 -148
  535. package/vendor/include/tlx/port/setenv.hpp +0 -31
  536. package/vendor/include/tlx/port.hpp +0 -27
  537. package/vendor/include/tlx/semaphore.hpp +0 -119
  538. package/vendor/include/tlx/simple_vector.hpp +0 -20
  539. package/vendor/include/tlx/siphash.hpp +0 -282
  540. package/vendor/include/tlx/sort/networks/best.hpp +0 -611
  541. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
  542. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
  543. package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
  544. package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
  545. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
  546. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
  547. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
  548. package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
  549. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
  550. package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
  551. package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
  552. package/vendor/include/tlx/sort/strings.hpp +0 -329
  553. package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
  554. package/vendor/include/tlx/sort.hpp +0 -29
  555. package/vendor/include/tlx/stack_allocator.hpp +0 -226
  556. package/vendor/include/tlx/string/appendline.hpp +0 -35
  557. package/vendor/include/tlx/string/base64.hpp +0 -87
  558. package/vendor/include/tlx/string/bitdump.hpp +0 -139
  559. package/vendor/include/tlx/string/compare_icase.hpp +0 -42
  560. package/vendor/include/tlx/string/contains.hpp +0 -36
  561. package/vendor/include/tlx/string/contains_word.hpp +0 -42
  562. package/vendor/include/tlx/string/ends_with.hpp +0 -79
  563. package/vendor/include/tlx/string/equal_icase.hpp +0 -42
  564. package/vendor/include/tlx/string/erase_all.hpp +0 -70
  565. package/vendor/include/tlx/string/escape_html.hpp +0 -34
  566. package/vendor/include/tlx/string/escape_uri.hpp +0 -34
  567. package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
  568. package/vendor/include/tlx/string/extract_between.hpp +0 -40
  569. package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
  570. package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
  571. package/vendor/include/tlx/string/format_si_units.hpp +0 -32
  572. package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
  573. package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
  574. package/vendor/include/tlx/string/hexdump.hpp +0 -154
  575. package/vendor/include/tlx/string/index_of.hpp +0 -56
  576. package/vendor/include/tlx/string/join.hpp +0 -65
  577. package/vendor/include/tlx/string/join_generic.hpp +0 -89
  578. package/vendor/include/tlx/string/join_quoted.hpp +0 -46
  579. package/vendor/include/tlx/string/less_icase.hpp +0 -64
  580. package/vendor/include/tlx/string/levenshtein.hpp +0 -193
  581. package/vendor/include/tlx/string/pad.hpp +0 -39
  582. package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
  583. package/vendor/include/tlx/string/parse_uri.hpp +0 -66
  584. package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
  585. package/vendor/include/tlx/string/replace.hpp +0 -141
  586. package/vendor/include/tlx/string/split.hpp +0 -170
  587. package/vendor/include/tlx/string/split_quoted.hpp +0 -49
  588. package/vendor/include/tlx/string/split_view.hpp +0 -218
  589. package/vendor/include/tlx/string/split_words.hpp +0 -53
  590. package/vendor/include/tlx/string/ssprintf.hpp +0 -45
  591. package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
  592. package/vendor/include/tlx/string/starts_with.hpp +0 -44
  593. package/vendor/include/tlx/string/to_lower.hpp +0 -47
  594. package/vendor/include/tlx/string/to_upper.hpp +0 -47
  595. package/vendor/include/tlx/string/trim.hpp +0 -298
  596. package/vendor/include/tlx/string/union_words.hpp +0 -33
  597. package/vendor/include/tlx/string/word_wrap.hpp +0 -35
  598. package/vendor/include/tlx/string.hpp +0 -68
  599. package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
  600. package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
  601. package/vendor/include/tlx/thread_pool.hpp +0 -151
  602. package/vendor/include/tlx/timestamp.hpp +0 -23
  603. package/vendor/include/tlx/unused.hpp +0 -28
  604. package/vendor/include/tlx/vector_free.hpp +0 -30
  605. package/vendor/include/tlx/version.hpp +0 -49
  606. package/vendor/include/ttmath/ttmath.h +0 -2881
  607. package/vendor/include/ttmath/ttmathbig.h +0 -6111
  608. package/vendor/include/ttmath/ttmathdec.h +0 -419
  609. package/vendor/include/ttmath/ttmathint.h +0 -1923
  610. package/vendor/include/ttmath/ttmathmisc.h +0 -250
  611. package/vendor/include/ttmath/ttmathobjects.h +0 -812
  612. package/vendor/include/ttmath/ttmathparser.h +0 -2791
  613. package/vendor/include/ttmath/ttmaththreads.h +0 -252
  614. package/vendor/include/ttmath/ttmathtypes.h +0 -707
  615. package/vendor/include/ttmath/ttmathuint.h +0 -4190
  616. package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
  617. package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
  618. package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
  619. package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
  620. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
  621. package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
  622. package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
  623. package/vendor/lib/libtlx.a +0 -0
  624. package/vendor/lib/pkgconfig/networkit.pc +0 -11
  625. package/vendor/lib/pkgconfig/tlx.pc +0 -11
@@ -1,756 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/sort/strings/sample_sort_tools.hpp
3
- *
4
- * Helpers for (Parallel) Super Scalar String Sample Sort
5
- *
6
- * See also Timo Bingmann, Andreas Eberle, and Peter Sanders. "Engineering
7
- * parallel string sorting." Algorithmica 77.1 (2017): 235-286.
8
- *
9
- * Part of tlx - http://panthema.net/tlx
10
- *
11
- * Copyright (C) 2013-2019 Timo Bingmann <tb@panthema.net>
12
- *
13
- * All rights reserved. Published under the Boost Software License, Version 1.0
14
- ******************************************************************************/
15
-
16
- #ifndef TLX_SORT_STRINGS_SAMPLE_SORT_TOOLS_HEADER
17
- #define TLX_SORT_STRINGS_SAMPLE_SORT_TOOLS_HEADER
18
-
19
- #include <tlx/define/attribute_fallthrough.hpp>
20
- #include <tlx/die/core.hpp>
21
- #include <tlx/logger/core.hpp>
22
- #include <tlx/math/clz.hpp>
23
- #include <tlx/math/ctz.hpp>
24
- #include <tlx/sort/strings/string_set.hpp>
25
- #include <tlx/string/hexdump.hpp>
26
- #include <algorithm>
27
- #include <cassert>
28
- #include <cstddef>
29
- #include <cstdint>
30
-
31
- namespace tlx { namespace sort_strings_detail {
32
-
33
- /******************************************************************************/
34
-
35
- //! represent binary digits of large integer datatypes
36
- template <typename Type>
37
- static inline std::string to_binary(Type v,
38
- const size_t width = (8 * sizeof(Type)))
39
- {
40
- std::string str(width, ' ');
41
- for (size_t i = 0; i < width; i++)
42
- {
43
- str[width - i - 1] = (v & 1) ? '1' : '0';
44
- v /= 2;
45
- }
46
- return str;
47
- }
48
-
49
- //! Class to transform in-order to level-order indexes in a perfect binary tree
50
- template <size_t TreeBits>
51
- struct PerfectTreeCalculations
52
- {
53
- static const bool debug = false;
54
-
55
- static const size_t treebits = TreeBits;
56
- static const size_t num_nodes = (1 << treebits) - 1;
57
-
58
- static unsigned int level_to_preorder(unsigned int id)
59
- {
60
- assert(id > 0);
61
- TLX_LOG << "index: " << id << " = " << to_binary(id);
62
-
63
- static const int bitmask = num_nodes;
64
-
65
- int hi = treebits - 32 + clz<std::uint32_t>(id);
66
- TLX_LOG << "high zero: " << hi;
67
-
68
- unsigned int bkt = ((id << (hi + 1)) & bitmask) | (1 << hi);
69
-
70
- TLX_LOG << "bkt: " << bkt << " = " << to_binary(bkt);
71
- return bkt;
72
- }
73
-
74
- static unsigned int pre_to_levelorder(unsigned int id)
75
- {
76
- assert(id > 0);
77
- TLX_LOG << "index: " << id << " = " << to_binary(id);
78
-
79
- static const int bitmask = num_nodes;
80
-
81
- int lo = ctz<std::uint32_t>(id) + 1;
82
- TLX_LOG << "low zero: " << lo;
83
-
84
- unsigned int bkt = ((id >> lo) & bitmask) | (1 << (treebits - lo));
85
-
86
- TLX_LOG << "bkt: " << bkt << " = " << to_binary(bkt);
87
- return bkt;
88
- }
89
-
90
- static void self_verify()
91
- {
92
- for (size_t i = 1; i <= num_nodes; ++i)
93
- {
94
- TLX_LOG << to_binary(i, treebits) << " -> ";
95
-
96
- size_t id = level_to_preorder(i);
97
- TLX_LOG << to_binary(id, treebits) << " -> ";
98
-
99
- id = pre_to_levelorder(id);
100
- TLX_LOG << to_binary(id, treebits);
101
-
102
- TLX_LOG << "";
103
- tlx_die_unequal(id, i);
104
- }
105
- }
106
- };
107
-
108
- static inline void perfect_tree_calculations_self_verify()
109
- {
110
- PerfectTreeCalculations<4>::self_verify();
111
- PerfectTreeCalculations<5>::self_verify();
112
- PerfectTreeCalculations<6>::self_verify();
113
- PerfectTreeCalculations<10>::self_verify();
114
- PerfectTreeCalculations<11>::self_verify();
115
- PerfectTreeCalculations<12>::self_verify();
116
- PerfectTreeCalculations<13>::self_verify();
117
- PerfectTreeCalculations<14>::self_verify();
118
- PerfectTreeCalculations<15>::self_verify();
119
- PerfectTreeCalculations<16>::self_verify();
120
- }
121
-
122
- /******************************************************************************/
123
-
124
- //! Recursive TreeBuilder for full-descent and unrolled variants, constructs a
125
- //! both a pre-order and level-order array of splitters and the corresponding
126
- //! LCPs.
127
- template <typename key_type, size_t num_splitters>
128
- class SSTreeBuilderPreAndLevelOrder
129
- {
130
- static const bool debug_splitter = false;
131
-
132
- public:
133
- // build tree: splitter[num_splitters], splitter_tree[num_splitters + 1],
134
- // and splitter_lcp[num_splitters + 1].
135
- SSTreeBuilderPreAndLevelOrder(key_type splitter[num_splitters],
136
- key_type tree[num_splitters + 1],
137
- unsigned char splitter_lcp[num_splitters + 1],
138
- const key_type* samples, size_t samplesize)
139
- : splitter_(splitter),
140
- tree_(tree),
141
- lcp_iter_(splitter_lcp),
142
- samples_(samples)
143
- {
144
- key_type sentinel = 0;
145
- recurse(samples, samples + samplesize, 1, sentinel);
146
-
147
- assert(splitter_ == splitter + num_splitters);
148
- assert(lcp_iter_ == splitter_lcp + num_splitters);
149
- // overwrite sentinel lcp for first < everything bucket
150
- splitter_lcp[0] &= 0x80;
151
- // sentinel for > everything bucket
152
- splitter_lcp[num_splitters] = 0;
153
- }
154
-
155
- ptrdiff_t snum(const key_type* s) const
156
- {
157
- return static_cast<ptrdiff_t>(s - samples_);
158
- }
159
-
160
- key_type recurse(const key_type* lo, const key_type* hi,
161
- unsigned int treeidx, key_type& rec_prevkey)
162
- {
163
- TLX_LOGC(debug_splitter) << "rec_buildtree(" << snum(lo) << ","
164
- << snum(hi) << ", treeidx=" << treeidx << ")";
165
-
166
- // pick middle element as splitter
167
- const key_type* mid = lo + static_cast<ptrdiff_t>(hi - lo) / 2;
168
-
169
- TLX_LOGC(debug_splitter) << "tree[" << treeidx << "] = samples["
170
- << snum(mid) << "] = " << hexdump_type(*mid);
171
-
172
- key_type mykey = tree_[treeidx] = *mid;
173
- #if 1
174
- const key_type* midlo = mid;
175
- while (lo < midlo && *(midlo - 1) == mykey)
176
- midlo--;
177
-
178
- const key_type* midhi = mid;
179
- while (midhi + 1 < hi && *midhi == mykey)
180
- midhi++;
181
-
182
- if (midhi - midlo > 1)
183
- TLX_LOG0 << "key range = [" << snum(midlo) << "," << snum(midhi)
184
- << ")";
185
- #else
186
- const key_type *midlo = mid, *midhi = mid + 1;
187
- #endif
188
- if (2 * treeidx < num_splitters)
189
- {
190
- key_type prevkey = recurse(lo, midlo, 2 * treeidx + 0, rec_prevkey);
191
-
192
- key_type xorSplit = prevkey ^ mykey;
193
-
194
- TLX_LOGC(debug_splitter) //
195
- << " lcp: " << hexdump_type(prevkey) //
196
- << " XOR " << hexdump_type(mykey) //
197
- << " = " << hexdump_type(xorSplit) //
198
- << " - " << clz(xorSplit) //
199
- << " bits = " << clz(xorSplit) / 8 //
200
- << " chars lcp";
201
-
202
- *splitter_++ = mykey;
203
-
204
- *lcp_iter_++ = (clz(xorSplit) / 8) |
205
- // marker for done splitters
206
- ((mykey & 0xFF) ? 0 : 0x80);
207
-
208
- return recurse(midhi, hi, 2 * treeidx + 1, mykey);
209
- }
210
-
211
- key_type xorSplit = rec_prevkey ^ mykey;
212
-
213
- TLX_LOGC(debug_splitter) //
214
- << " lcp: " << hexdump_type(rec_prevkey) //
215
- << " XOR " << hexdump_type(mykey) //
216
- << " = " << hexdump_type(xorSplit) //
217
- << " - " << clz(xorSplit) //
218
- << " bits = " << clz(xorSplit) / 8 //
219
- << " chars lcp";
220
-
221
- *splitter_++ = mykey;
222
-
223
- *lcp_iter_++ = (clz(xorSplit) / 8) |
224
- // marker for done splitters
225
- ((mykey & 0xFF) ? 0 : 0x80);
226
-
227
- return mykey;
228
- }
229
-
230
- private:
231
- key_type* splitter_;
232
- key_type* tree_;
233
- unsigned char* lcp_iter_;
234
- const key_type* samples_;
235
- };
236
-
237
- //! Recursive TreeBuilder for full-descent and unrolled variants, constructs
238
- //! only a level-order binary tree of splitters
239
- template <typename key_type, size_t num_splitters>
240
- class SSTreeBuilderLevelOrder
241
- {
242
- static const bool debug_splitter = false;
243
-
244
- public:
245
- //! build tree, sizes: splitter_tree[num_splitters + 1] and
246
- SSTreeBuilderLevelOrder(key_type tree[num_splitters],
247
- unsigned char splitter_lcp[num_splitters + 1],
248
- const key_type* samples, size_t samplesize)
249
- : tree_(tree), lcp_iter_(splitter_lcp), samples_(samples)
250
- {
251
- key_type sentinel = 0;
252
- recurse(samples, samples + samplesize, 1, sentinel);
253
-
254
- assert(lcp_iter_ == splitter_lcp + num_splitters);
255
- // overwrite sentinel lcp for first < everything bucket
256
- splitter_lcp[0] &= 0x80;
257
- // sentinel for > everything bucket
258
- splitter_lcp[num_splitters] = 0;
259
- }
260
-
261
- ptrdiff_t snum(const key_type* s) const
262
- {
263
- return static_cast<ptrdiff_t>(s - samples_);
264
- }
265
-
266
- key_type recurse(const key_type* lo, const key_type* hi,
267
- unsigned int treeidx, key_type& rec_prevkey)
268
- {
269
- TLX_LOGC(debug_splitter) << "rec_buildtree(" << snum(lo) << ","
270
- << snum(hi) << ", treeidx=" << treeidx << ")";
271
-
272
- // pick middle element as splitter
273
- const key_type* mid = lo + static_cast<ptrdiff_t>(hi - lo) / 2;
274
-
275
- TLX_LOGC(debug_splitter) << "tree[" << treeidx << "] = samples["
276
- << snum(mid) << "] = " << hexdump_type(*mid);
277
-
278
- key_type mykey = tree_[treeidx] = *mid;
279
- #if 1
280
- const key_type* midlo = mid;
281
- while (lo < midlo && *(midlo - 1) == mykey)
282
- midlo--;
283
-
284
- const key_type* midhi = mid;
285
- while (midhi + 1 < hi && *midhi == mykey)
286
- midhi++;
287
-
288
- if (midhi - midlo > 1)
289
- TLX_LOG0 << "key range = [" << snum(midlo) << "," << snum(midhi)
290
- << ")";
291
- #else
292
- const key_type *midlo = mid, *midhi = mid + 1;
293
- #endif
294
- if (2 * treeidx < num_splitters)
295
- {
296
- key_type prevkey = recurse(lo, midlo, 2 * treeidx + 0, rec_prevkey);
297
-
298
- key_type xorSplit = prevkey ^ mykey;
299
-
300
- TLX_LOGC(debug_splitter) //
301
- << " lcp: " << hexdump_type(prevkey) //
302
- << " XOR " << hexdump_type(mykey) //
303
- << " = " << hexdump_type(xorSplit) //
304
- << " - " << clz(xorSplit) //
305
- << " bits = " << clz(xorSplit) / 8 //
306
- << " chars lcp";
307
-
308
- *lcp_iter_++ = (clz(xorSplit) / 8) |
309
- // marker for done splitters
310
- ((mykey & 0xFF) ? 0 : 0x80);
311
-
312
- return recurse(midhi, hi, 2 * treeidx + 1, mykey);
313
- }
314
-
315
- key_type xorSplit = rec_prevkey ^ mykey;
316
-
317
- TLX_LOGC(debug_splitter) //
318
- << " lcp: " << hexdump_type(rec_prevkey) //
319
- << " XOR " << hexdump_type(mykey) //
320
- << " = " << hexdump_type(xorSplit) //
321
- << " - " << clz(xorSplit) //
322
- << " bits = " << clz(xorSplit) / 8 //
323
- << " chars lcp";
324
-
325
- *lcp_iter_++ = (clz(xorSplit) / 8) |
326
- // marker for done splitters
327
- ((mykey & 0xFF) ? 0 : 0x80);
328
-
329
- return mykey;
330
- }
331
-
332
- private:
333
- key_type* tree_;
334
- unsigned char* lcp_iter_;
335
- const key_type* samples_;
336
- };
337
-
338
- /******************************************************************************/
339
-
340
- //! Sample Sort Classification Tree Unrolled and Interleaved
341
- template <typename key_type, size_t TreeBits, size_t Rollout = 4>
342
- class SSClassifyTreeUnrollInterleave
343
- {
344
- public:
345
- static const size_t treebits = TreeBits;
346
- static const size_t num_splitters = (1 << treebits) - 1;
347
-
348
- //! build tree and splitter array from sample
349
- void build(key_type* samples, size_t samplesize,
350
- unsigned char* splitter_lcp)
351
- {
352
- SSTreeBuilderPreAndLevelOrder<key_type, num_splitters>(
353
- splitter_, splitter_tree_, splitter_lcp, samples, samplesize);
354
- }
355
-
356
- //! binary search on splitter array for bucket number
357
- unsigned int find_bkt(const key_type& key) const
358
- {
359
- // binary tree traversal without left branch
360
-
361
- unsigned int i = 1;
362
- while (i <= num_splitters)
363
- {
364
- // in gcc-4.6.3 this produces a SETA, LEA sequence
365
- i = 2 * i + (key <= splitter_tree_[i] ? 0 : 1);
366
- }
367
- i -= num_splitters + 1;
368
-
369
- size_t b = i * 2; // < bucket
370
- if (i < num_splitters && splitter_[i] == key)
371
- b += 1; // equal bucket
372
-
373
- return b;
374
- }
375
-
376
- // in gcc-4.6.3 this produces a SETA, LEA sequence
377
- #define TLX_CLASSIFY_TREE_STEP \
378
- for (size_t u = 0; u < Rollout; ++u) \
379
- { \
380
- i[u] = 2 * i[u] + (key[u] <= splitter_tree_[i[u]] ? 0 : 1); \
381
- } \
382
- TLX_ATTRIBUTE_FALLTHROUGH;
383
-
384
- //! search in splitter tree for bucket number, unrolled for Rollout keys at
385
- //! once.
386
- void find_bkt_unroll(const key_type key[Rollout],
387
- std::uint16_t obkt[Rollout]) const
388
- {
389
- // binary tree traversal without left branch
390
-
391
- unsigned int i[Rollout];
392
- std::fill(i, i + Rollout, 1U);
393
-
394
- switch (treebits)
395
- {
396
- default:
397
- abort();
398
- case 15:
399
- TLX_CLASSIFY_TREE_STEP;
400
- case 14:
401
- TLX_CLASSIFY_TREE_STEP;
402
- case 13:
403
- TLX_CLASSIFY_TREE_STEP;
404
- case 12:
405
- TLX_CLASSIFY_TREE_STEP;
406
- case 11:
407
- TLX_CLASSIFY_TREE_STEP;
408
-
409
- case 10:
410
- TLX_CLASSIFY_TREE_STEP;
411
- case 9:
412
- TLX_CLASSIFY_TREE_STEP;
413
- case 8:
414
- TLX_CLASSIFY_TREE_STEP;
415
- case 7:
416
- TLX_CLASSIFY_TREE_STEP;
417
- case 6:
418
- TLX_CLASSIFY_TREE_STEP;
419
-
420
- case 5:
421
- TLX_CLASSIFY_TREE_STEP;
422
- case 4:
423
- TLX_CLASSIFY_TREE_STEP;
424
- case 3:
425
- TLX_CLASSIFY_TREE_STEP;
426
- case 2:
427
- TLX_CLASSIFY_TREE_STEP;
428
- case 1:
429
- TLX_CLASSIFY_TREE_STEP;
430
- }
431
-
432
- for (size_t u = 0; u < Rollout; ++u)
433
- i[u] -= num_splitters + 1;
434
-
435
- for (size_t u = 0; u < Rollout; ++u)
436
- {
437
- // < bucket
438
- obkt[u] = i[u] * 2;
439
- }
440
-
441
- for (size_t u = 0; u < Rollout; ++u)
442
- {
443
- // equal bucket
444
- if (i[u] < num_splitters && splitter_[i[u]] == key[u])
445
- obkt[u] += 1;
446
- }
447
- }
448
-
449
- #undef TLX_CLASSIFY_TREE_STEP
450
-
451
- //! classify all strings in area by walking tree and saving bucket id
452
- template <typename StringSet>
453
- // __attribute__ ((optimize("unroll-all-loops")))
454
- void classify(const StringSet& strset, typename StringSet::Iterator begin,
455
- typename StringSet::Iterator end, std::uint16_t* bktout,
456
- size_t depth) const
457
- {
458
- while (begin != end)
459
- {
460
- if (begin + Rollout <= end)
461
- {
462
- key_type key[Rollout];
463
- for (size_t u = 0; u < Rollout; ++u)
464
- key[u] = get_key<key_type>(strset, begin[u], depth);
465
-
466
- find_bkt_unroll(key, bktout);
467
-
468
- begin += Rollout, bktout += Rollout;
469
- }
470
- else
471
- {
472
- key_type key = get_key<key_type>(strset, *begin++, depth);
473
- *bktout++ = this->find_bkt(key);
474
- }
475
- }
476
- }
477
-
478
- //! return a splitter
479
- key_type get_splitter(unsigned int i) const
480
- {
481
- return splitter_[i];
482
- }
483
-
484
- private:
485
- key_type splitter_[num_splitters];
486
- key_type splitter_tree_[num_splitters + 1];
487
- };
488
-
489
- /******************************************************************************/
490
-
491
- //! Sample Sort Classification Tree Unrolled with Equal Comparisons
492
- template <typename key_type, size_t TreeBits>
493
- class SSClassifyEqualUnroll
494
- {
495
- public:
496
- static const size_t treebits = TreeBits;
497
- static const size_t num_splitters = (1 << treebits) - 1;
498
-
499
- //! build tree and splitter array from sample
500
- void build(key_type* samples, size_t samplesize,
501
- unsigned char* splitter_lcp)
502
- {
503
- SSTreeBuilderLevelOrder<key_type, num_splitters>(
504
- splitter_tree_, splitter_lcp, samples, samplesize);
505
- }
506
-
507
- #define TLX_CLASSIFY_TREE_STEP \
508
- if (TLX_UNLIKELY(key == splitter_tree_[i])) \
509
- { \
510
- return 2 * PerfectTreeCalculations<treebits>::level_to_preorder(i) - \
511
- 1; \
512
- } \
513
- i = 2 * i + (key < splitter_tree_[i] ? 0 : 1); \
514
- TLX_ATTRIBUTE_FALLTHROUGH;
515
-
516
- //! binary search on splitter array for bucket number
517
- unsigned int find_bkt(const key_type& key) const
518
- {
519
- // binary tree traversal without left branch
520
-
521
- unsigned int i = 1;
522
-
523
- switch (treebits)
524
- {
525
- default:
526
- abort();
527
- case 15:
528
- TLX_CLASSIFY_TREE_STEP;
529
- case 14:
530
- TLX_CLASSIFY_TREE_STEP;
531
- case 13:
532
- TLX_CLASSIFY_TREE_STEP;
533
- case 12:
534
- TLX_CLASSIFY_TREE_STEP;
535
- case 11:
536
- TLX_CLASSIFY_TREE_STEP;
537
-
538
- case 10:
539
- TLX_CLASSIFY_TREE_STEP;
540
- case 9:
541
- TLX_CLASSIFY_TREE_STEP;
542
- case 8:
543
- TLX_CLASSIFY_TREE_STEP;
544
- case 7:
545
- TLX_CLASSIFY_TREE_STEP;
546
- case 6:
547
- TLX_CLASSIFY_TREE_STEP;
548
-
549
- case 5:
550
- TLX_CLASSIFY_TREE_STEP;
551
- case 4:
552
- TLX_CLASSIFY_TREE_STEP;
553
- case 3:
554
- TLX_CLASSIFY_TREE_STEP;
555
- case 2:
556
- TLX_CLASSIFY_TREE_STEP;
557
- case 1:
558
- TLX_CLASSIFY_TREE_STEP;
559
- }
560
-
561
- i -= num_splitters + 1;
562
- return 2 * i; // < or > bucket
563
- }
564
-
565
- #undef TLX_CLASSIFY_TREE_STEP
566
-
567
- //! classify all strings in area by walking tree and saving bucket id
568
- template <typename StringSet>
569
- void classify(const StringSet& strset, typename StringSet::Iterator begin,
570
- typename StringSet::Iterator end, std::uint16_t* bktout,
571
- size_t depth) const
572
- {
573
- while (begin != end)
574
- {
575
- key_type key = get_key<key_type>(strset, *begin++, depth);
576
- *bktout++ = find_bkt(key);
577
- }
578
- }
579
-
580
- //! return a splitter
581
- key_type get_splitter(unsigned int i) const
582
- {
583
- return splitter_tree_
584
- [PerfectTreeCalculations<treebits>::pre_to_levelorder(i)];
585
- }
586
-
587
- private:
588
- key_type splitter_tree_[num_splitters + 1];
589
- };
590
-
591
- /******************************************************************************/
592
-
593
- //! Sample Sort Classification Tree Unrolled, Interleaved, and with Perfect Tree
594
- //! Index Calculations
595
- template <typename key_type, size_t TreeBits, unsigned Rollout = 4>
596
- class SSClassifyTreeCalcUnrollInterleave
597
- {
598
- public:
599
- static const size_t treebits = TreeBits;
600
- static const size_t num_splitters = (1 << treebits) - 1;
601
-
602
- //! build tree and splitter array from sample
603
- void build(key_type* samples, size_t samplesize,
604
- unsigned char* splitter_lcp)
605
- {
606
- SSTreeBuilderLevelOrder<key_type, num_splitters>(
607
- splitter_tree_, splitter_lcp, samples, samplesize);
608
- }
609
-
610
- //! binary search on splitter array for bucket number
611
- unsigned int find_bkt(const key_type& key) const
612
- {
613
- // binary tree traversal without left branch
614
-
615
- unsigned int i = 1;
616
-
617
- while (i <= num_splitters)
618
- {
619
- // in gcc-4.6.3 this produces a SETA, LEA sequence
620
- i = 2 * i + (key <= splitter_tree_[i] ? 0 : 1);
621
- }
622
-
623
- i -= num_splitters + 1;
624
-
625
- // < bucket
626
- size_t b = i * 2;
627
- if (i < num_splitters && get_splitter(i) == key)
628
- {
629
- // equal bucket
630
- b += 1;
631
- }
632
-
633
- return b;
634
- }
635
-
636
- // in gcc-4.6.3 this produces a SETA, LEA sequence
637
- #define TLX_CLASSIFY_TREE_STEP \
638
- for (size_t u = 0; u < Rollout; ++u) \
639
- { \
640
- i[u] = 2 * i[u] + (key[u] <= splitter_tree_[i[u]] ? 0 : 1); \
641
- } \
642
- TLX_ATTRIBUTE_FALLTHROUGH;
643
-
644
- //! search in splitter tree for bucket number, unrolled for Rollout keys at
645
- //! once.
646
- void find_bkt_unroll(const key_type key[Rollout],
647
- std::uint16_t obkt[Rollout]) const
648
- {
649
- // binary tree traversal without left branch
650
-
651
- unsigned int i[Rollout];
652
- std::fill(i + 0, i + Rollout, 1);
653
-
654
- switch (treebits)
655
- {
656
- default:
657
- abort();
658
-
659
- case 15:
660
- TLX_CLASSIFY_TREE_STEP;
661
- case 14:
662
- TLX_CLASSIFY_TREE_STEP;
663
- case 13:
664
- TLX_CLASSIFY_TREE_STEP;
665
- case 12:
666
- TLX_CLASSIFY_TREE_STEP;
667
- case 11:
668
- TLX_CLASSIFY_TREE_STEP;
669
-
670
- case 10:
671
- TLX_CLASSIFY_TREE_STEP;
672
- case 9:
673
- TLX_CLASSIFY_TREE_STEP;
674
- case 8:
675
- TLX_CLASSIFY_TREE_STEP;
676
- case 7:
677
- TLX_CLASSIFY_TREE_STEP;
678
- case 6:
679
- TLX_CLASSIFY_TREE_STEP;
680
-
681
- case 5:
682
- TLX_CLASSIFY_TREE_STEP;
683
- case 4:
684
- TLX_CLASSIFY_TREE_STEP;
685
- case 3:
686
- TLX_CLASSIFY_TREE_STEP;
687
- case 2:
688
- TLX_CLASSIFY_TREE_STEP;
689
- case 1:
690
- TLX_CLASSIFY_TREE_STEP;
691
- }
692
-
693
- for (unsigned u = 0; u < Rollout; ++u)
694
- i[u] -= num_splitters + 1;
695
-
696
- for (unsigned u = 0; u < Rollout; ++u)
697
- {
698
- // < bucket
699
- obkt[u] = i[u] * 2;
700
- }
701
-
702
- for (unsigned u = 0; u < Rollout; ++u)
703
- {
704
- // equal bucket
705
- if (i[u] < num_splitters && get_splitter(i[u]) == key[u])
706
- obkt[u] += 1;
707
- }
708
- }
709
-
710
- #undef TLX_CLASSIFY_TREE_STEP
711
-
712
- //! classify all strings in area by walking tree and saving bucket id
713
- template <typename StringSet>
714
- // __attribute__ ((optimize("unroll-all-loops")))
715
- void classify(const StringSet& strset, typename StringSet::Iterator begin,
716
- typename StringSet::Iterator end, std::uint16_t* bktout,
717
- size_t depth) const
718
- {
719
- while (begin != end)
720
- {
721
- if (begin + Rollout <= end)
722
- {
723
- key_type key[Rollout];
724
- for (size_t u = 0; u < Rollout; ++u)
725
- key[u] = get_key<key_type>(strset, begin[u], depth);
726
-
727
- find_bkt_unroll(key, bktout);
728
-
729
- begin += Rollout, bktout += Rollout;
730
- }
731
- else
732
- {
733
- key_type key = get_key<key_type>(strset, *begin++, depth);
734
- *bktout++ = this->find_bkt(key);
735
- }
736
- }
737
- }
738
-
739
- //! return a splitter
740
- key_type get_splitter(unsigned int i) const
741
- {
742
- return splitter_tree_
743
- [PerfectTreeCalculations<treebits>::pre_to_levelorder(i + 1)];
744
- }
745
-
746
- private:
747
- key_type splitter_tree_[num_splitters + 1];
748
- };
749
-
750
- /******************************************************************************/
751
-
752
- }} // namespace tlx::sort_strings_detail
753
-
754
- #endif // !TLX_SORT_STRINGS_SAMPLE_SORT_TOOLS_HEADER
755
-
756
- /******************************************************************************/