@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,398 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/sort/parallel_mergesort.hpp
3
- *
4
- * **EXPERIMENTAL** Parallel multiway mergesort **EXPERIMENTAL**
5
- *
6
- * Copied and modified from STXXL, see http://stxxl.org, which itself extracted
7
- * it from MCSTL http://algo2.iti.uni-karlsruhe.de/singler/mcstl/. Both are
8
- * distributed under the Boost Software License, Version 1.0.
9
- *
10
- * Part of tlx - http://panthema.net/tlx
11
- *
12
- * Copyright (C) 2007 Johannes Singler <singler@ira.uka.de>
13
- * Copyright (C) 2014-2018 Timo Bingmann <tb@panthema.net>
14
- *
15
- * All rights reserved. Published under the Boost Software License, Version 1.0
16
- ******************************************************************************/
17
-
18
- #ifndef TLX_SORT_PARALLEL_MERGESORT_HEADER
19
- #define TLX_SORT_PARALLEL_MERGESORT_HEADER
20
-
21
- #include <tlx/algorithm/multiway_merge_splitting.hpp>
22
- #include <tlx/algorithm/parallel_multiway_merge.hpp>
23
- #include <tlx/container/simple_vector.hpp>
24
- #include <tlx/thread_barrier_mutex.hpp>
25
- #include <algorithm>
26
- #include <cstddef>
27
- #include <functional>
28
- #include <iterator>
29
- #include <thread>
30
- #include <utility>
31
-
32
- #if defined(_OPENMP)
33
- #include <omp.h>
34
- #endif
35
-
36
- namespace tlx {
37
-
38
- //! \addtogroup tlx_sort
39
- //! \{
40
-
41
- namespace parallel_mergesort_detail {
42
-
43
- //! Subsequence description.
44
- template <typename DiffType>
45
- struct PMWMSPiece
46
- {
47
- //! Begin of subsequence.
48
- DiffType begin;
49
- //! End of subsequence.
50
- DiffType end;
51
- };
52
-
53
- /*!
54
- * Data accessed by all threads.
55
- *
56
- * PMWMS = parallel multiway mergesort
57
- */
58
- template <typename RandomAccessIterator>
59
- struct PMWMSSortingData
60
- {
61
- using ValueType =
62
- typename std::iterator_traits<RandomAccessIterator>::value_type;
63
- using DiffType =
64
- typename std::iterator_traits<RandomAccessIterator>::difference_type;
65
-
66
- //! Input begin.
67
- RandomAccessIterator source;
68
- //! Start indices, per thread.
69
- simple_vector<DiffType> starts;
70
-
71
- /** Storage in which to sort. */
72
- simple_vector<ValueType*> temporary;
73
- /** Samples. */
74
- simple_vector<ValueType> samples;
75
- /** Offsets to add to the found positions. */
76
- simple_vector<DiffType> offsets;
77
- /** PMWMSPieces of data to merge \c [thread][sequence] */
78
- simple_vector<simple_vector<PMWMSPiece<DiffType> > > pieces;
79
-
80
- explicit PMWMSSortingData(size_t num_threads)
81
- : starts(num_threads + 1),
82
- temporary(num_threads),
83
- offsets(num_threads - 1),
84
- pieces(num_threads)
85
- {
86
- }
87
- };
88
-
89
- /*!
90
- * Select samples from a sequence.
91
- * \param sd Pointer to sorting data struct. Result will be placed in \c
92
- * sd->samples. \param num_samples Number of samples to select. \param iam my
93
- * thread number \param num_threads number of threads in group
94
- */
95
- template <typename RandomAccessIterator, typename DiffType>
96
- void determine_samples(PMWMSSortingData<RandomAccessIterator>* sd,
97
- DiffType& num_samples, size_t iam, size_t num_threads)
98
- {
99
- num_samples = parallel_multiway_merge_oversampling * num_threads - 1;
100
-
101
- simple_vector<DiffType> es(num_samples + 2);
102
- multiway_merge_detail::equally_split(sd->starts[iam + 1] - sd->starts[iam],
103
- static_cast<size_t>(num_samples + 1),
104
- es.begin());
105
-
106
- for (DiffType i = 0; i < num_samples; i++)
107
- {
108
- sd->samples[iam * num_samples + i] =
109
- sd->source[sd->starts[iam] + es[i + 1]];
110
- }
111
- }
112
-
113
- /*!
114
- * PMWMS code executed by each thread.
115
- * \param sd Pointer to sorting data struct.
116
- * \param iam my thread number
117
- * \param num_threads number of threads in group
118
- * \param barrier thread barrier from main function
119
- * \param comp Comparator.
120
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
121
- */
122
- template <bool Stable, typename RandomAccessIterator, typename Comparator>
123
- void parallel_sort_mwms_pu(PMWMSSortingData<RandomAccessIterator>* sd,
124
- size_t iam, size_t num_threads,
125
- ThreadBarrierMutex& barrier, Comparator& comp,
126
- MultiwayMergeSplittingAlgorithm mwmsa)
127
- {
128
- using ValueType =
129
- typename std::iterator_traits<RandomAccessIterator>::value_type;
130
- using DiffType =
131
- typename std::iterator_traits<RandomAccessIterator>::difference_type;
132
-
133
- // length of this thread's chunk, before merging
134
- DiffType length_local = sd->starts[iam + 1] - sd->starts[iam];
135
-
136
- using SortingPlacesIterator = ValueType*;
137
-
138
- // sort in temporary storage, leave space for sentinel
139
- sd->temporary[iam] = static_cast<ValueType*>(
140
- ::operator new(sizeof(ValueType) * (length_local + 1)));
141
-
142
- // copy there
143
- std::uninitialized_copy(sd->source + sd->starts[iam],
144
- sd->source + sd->starts[iam] + length_local,
145
- sd->temporary[iam]);
146
-
147
- // sort locally
148
- if (Stable)
149
- std::stable_sort(sd->temporary[iam], sd->temporary[iam] + length_local,
150
- comp);
151
- else
152
- std::sort(sd->temporary[iam], sd->temporary[iam] + length_local, comp);
153
-
154
- // invariant: locally sorted subsequence in sd->temporary[iam],
155
- // sd->temporary[iam] + length_local
156
-
157
- if (mwmsa == MWMSA_SAMPLING)
158
- {
159
- DiffType num_samples;
160
- determine_samples(sd, num_samples, iam, num_threads);
161
-
162
- barrier.wait(
163
- [&]() { std::sort(sd->samples.begin(), sd->samples.end(), comp); });
164
-
165
- for (size_t s = 0; s < num_threads; s++)
166
- {
167
- // for each sequence
168
- if (num_samples * iam > 0)
169
- sd->pieces[iam][s].begin =
170
- std::lower_bound(sd->temporary[s],
171
- sd->temporary[s] + sd->starts[s + 1] -
172
- sd->starts[s],
173
- sd->samples[num_samples * iam], comp) -
174
- sd->temporary[s];
175
- else
176
- // absolute beginning
177
- sd->pieces[iam][s].begin = 0;
178
-
179
- if ((num_samples * (iam + 1)) < (num_samples * num_threads))
180
- sd->pieces[iam][s].end =
181
- std::lower_bound(
182
- sd->temporary[s],
183
- sd->temporary[s] + sd->starts[s + 1] - sd->starts[s],
184
- sd->samples[num_samples * (iam + 1)], comp) -
185
- sd->temporary[s];
186
- else
187
- // absolute end
188
- sd->pieces[iam][s].end = sd->starts[s + 1] - sd->starts[s];
189
- }
190
- }
191
- else if (mwmsa == MWMSA_EXACT)
192
- {
193
- barrier.wait();
194
-
195
- simple_vector<std::pair<SortingPlacesIterator, SortingPlacesIterator> >
196
- seqs(num_threads);
197
-
198
- for (size_t s = 0; s < num_threads; s++)
199
- seqs[s] = std::make_pair(sd->temporary[s], sd->temporary[s] +
200
- sd->starts[s + 1] -
201
- sd->starts[s]);
202
-
203
- simple_vector<SortingPlacesIterator> offsets(num_threads);
204
-
205
- // if not last thread
206
- if (iam < num_threads - 1)
207
- multisequence_partition(seqs.begin(), seqs.end(),
208
- sd->starts[iam + 1], offsets.begin(), comp);
209
-
210
- for (size_t seq = 0; seq < num_threads; seq++)
211
- {
212
- // for each sequence
213
- if (iam < (num_threads - 1))
214
- sd->pieces[iam][seq].end = offsets[seq] - seqs[seq].first;
215
- else
216
- // absolute end of this sequence
217
- sd->pieces[iam][seq].end =
218
- sd->starts[seq + 1] - sd->starts[seq];
219
- }
220
-
221
- barrier.wait();
222
-
223
- for (size_t seq = 0; seq < num_threads; seq++)
224
- {
225
- // for each sequence
226
- if (iam > 0)
227
- sd->pieces[iam][seq].begin = sd->pieces[iam - 1][seq].end;
228
- else
229
- // absolute beginning
230
- sd->pieces[iam][seq].begin = 0;
231
- }
232
- }
233
-
234
- // offset from target begin, length after merging
235
- DiffType offset = 0, length_am = 0;
236
- for (size_t s = 0; s < num_threads; s++)
237
- {
238
- length_am += sd->pieces[iam][s].end - sd->pieces[iam][s].begin;
239
- offset += sd->pieces[iam][s].begin;
240
- }
241
-
242
- // merge directly to target
243
-
244
- simple_vector<std::pair<SortingPlacesIterator, SortingPlacesIterator> >
245
- seqs(num_threads);
246
-
247
- for (size_t s = 0; s < num_threads; s++)
248
- {
249
- seqs[s] = std::make_pair(sd->temporary[s] + sd->pieces[iam][s].begin,
250
- sd->temporary[s] + sd->pieces[iam][s].end);
251
- }
252
-
253
- multiway_merge_base<Stable, /* Sentinels */ false>(
254
- seqs.begin(), seqs.end(), sd->source + offset, length_am, comp);
255
-
256
- barrier.wait();
257
-
258
- operator delete(sd->temporary[iam]);
259
- }
260
-
261
- } // namespace parallel_mergesort_detail
262
-
263
- //! \name Parallel Sorting Algorithms
264
- //! \{
265
-
266
- /*!
267
- * Parallel multiway mergesort main call.
268
- *
269
- * \param begin Begin iterator of sequence.
270
- * \param end End iterator of sequence.
271
- * \param comp Comparator.
272
- * \param num_threads Number of threads to use.
273
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
274
- * \tparam Stable Stable sorting.
275
- */
276
- template <bool Stable, typename RandomAccessIterator, typename Comparator>
277
- void parallel_mergesort_base(
278
- RandomAccessIterator begin, RandomAccessIterator end, Comparator comp,
279
- size_t num_threads = std::thread::hardware_concurrency(),
280
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT)
281
- {
282
- using namespace parallel_mergesort_detail;
283
-
284
- using DiffType =
285
- typename std::iterator_traits<RandomAccessIterator>::difference_type;
286
-
287
- DiffType n = end - begin;
288
-
289
- if (n <= 1)
290
- return;
291
-
292
- // at least one element per thread
293
- if (num_threads > static_cast<size_t>(n))
294
- num_threads = static_cast<size_t>(n);
295
-
296
- PMWMSSortingData<RandomAccessIterator> sd(num_threads);
297
- sd.source = begin;
298
-
299
- if (mwmsa == MWMSA_SAMPLING)
300
- {
301
- sd.samples.resize(
302
- num_threads *
303
- (parallel_multiway_merge_oversampling * num_threads - 1));
304
- }
305
-
306
- for (size_t s = 0; s < num_threads; s++)
307
- sd.pieces[s].resize(num_threads);
308
-
309
- DiffType* starts = sd.starts.data();
310
-
311
- DiffType chunk_length = n / num_threads, split = n % num_threads, start = 0;
312
- for (size_t i = 0; i < num_threads; i++)
313
- {
314
- starts[i] = start;
315
- start += (i < static_cast<size_t>(split)) ? (chunk_length + 1) :
316
- chunk_length;
317
- }
318
- starts[num_threads] = start;
319
-
320
- // now sort in parallel
321
-
322
- ThreadBarrierMutex barrier(num_threads);
323
-
324
- #if defined(_OPENMP)
325
- #pragma omp parallel num_threads(num_threads)
326
- {
327
- size_t iam = omp_get_thread_num();
328
- parallel_sort_mwms_pu<Stable>(&sd, iam, num_threads, barrier, comp,
329
- mwmsa);
330
- }
331
- #else
332
- simple_vector<std::thread> threads(num_threads);
333
- for (size_t iam = 0; iam < num_threads; ++iam)
334
- {
335
- threads[iam] = std::thread([&, iam]() {
336
- parallel_sort_mwms_pu<Stable>(&sd, iam, num_threads, barrier, comp,
337
- mwmsa);
338
- });
339
- }
340
- for (size_t i = 0; i < num_threads; i++)
341
- {
342
- threads[i].join();
343
- }
344
- #endif // defined(_OPENMP)
345
- }
346
-
347
- /*!
348
- * Parallel multiway mergesort.
349
- *
350
- * \param begin Begin iterator of sequence.
351
- * \param end End iterator of sequence.
352
- * \param comp Comparator.
353
- * \param num_threads Number of threads to use.
354
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
355
- */
356
- template <typename RandomAccessIterator,
357
- typename Comparator = std::less<
358
- typename std::iterator_traits<RandomAccessIterator>::value_type> >
359
- void parallel_mergesort(
360
- RandomAccessIterator begin, RandomAccessIterator end,
361
- Comparator comp = Comparator(),
362
- size_t num_threads = std::thread::hardware_concurrency(),
363
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT)
364
- {
365
- return parallel_mergesort_base</* Stable */ false>(begin, end, comp,
366
- num_threads, mwmsa);
367
- }
368
-
369
- /*!
370
- * Stable parallel multiway mergesort.
371
- *
372
- * \param begin Begin iterator of sequence.
373
- * \param end End iterator of sequence.
374
- * \param comp Comparator.
375
- * \param num_threads Number of threads to use.
376
- * \param mwmsa MultiwayMergeSplittingAlgorithm to use.
377
- */
378
- template <typename RandomAccessIterator,
379
- typename Comparator = std::less<
380
- typename std::iterator_traits<RandomAccessIterator>::value_type> >
381
- void stable_parallel_mergesort(
382
- RandomAccessIterator begin, RandomAccessIterator end,
383
- Comparator comp = Comparator(),
384
- size_t num_threads = std::thread::hardware_concurrency(),
385
- MultiwayMergeSplittingAlgorithm mwmsa = MWMSA_DEFAULT)
386
- {
387
- return parallel_mergesort_base</* Stable */ true>(begin, end, comp,
388
- num_threads, mwmsa);
389
- }
390
-
391
- //! \}
392
- //! \}
393
-
394
- } // namespace tlx
395
-
396
- #endif // !TLX_SORT_PARALLEL_MERGESORT_HEADER
397
-
398
- /******************************************************************************/
@@ -1,232 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/sort/strings/insertion_sort.hpp
3
- *
4
- * Base insertion string sort. This is an internal implementation header, see
5
- * tlx/sort/strings.hpp for public front-end functions.
6
- *
7
- * Part of tlx - http://panthema.net/tlx
8
- *
9
- * Copyright (C) 2015-2019 Timo Bingmann <tb@panthema.net>
10
- *
11
- * All rights reserved. Published under the Boost Software License, Version 1.0
12
- ******************************************************************************/
13
-
14
- #ifndef TLX_SORT_STRINGS_INSERTION_SORT_HEADER
15
- #define TLX_SORT_STRINGS_INSERTION_SORT_HEADER
16
-
17
- #include <tlx/define/likely.hpp>
18
- #include <tlx/meta/enable_if.hpp>
19
- #include <tlx/sort/strings/string_ptr.hpp>
20
-
21
- namespace tlx {
22
-
23
- //! \addtogroup tlx_sort
24
- //! \{
25
-
26
- namespace sort_strings_detail {
27
-
28
- /******************************************************************************/
29
-
30
- //! Generic insertion sort for abstract string sets. This method only requires
31
- //! O(1) additional memory for sorting n strings, but runs in time O(nD).
32
- template <typename StringPtr>
33
- static inline typename enable_if<!StringPtr::with_lcp, void>::type
34
- insertion_sort(const StringPtr& strptr, size_t depth, size_t /* memory */)
35
- {
36
- typedef typename StringPtr::StringSet StringSet;
37
- typedef typename StringSet::Iterator Iterator;
38
- typedef typename StringSet::String String;
39
- typedef typename StringSet::CharIterator CharIterator;
40
-
41
- // this stores the begin iterator and size n, making the loops faster
42
- const typename StringPtr::StringSet& ss = strptr.active();
43
- size_t n = ss.size();
44
- if (n <= 1)
45
- return;
46
-
47
- const Iterator begin = ss.begin();
48
- Iterator j;
49
-
50
- for (Iterator i = begin + 1; TLX_UNLIKELY(--n != 0); ++i)
51
- {
52
- String tmp = std::move(ss[i]);
53
- j = i;
54
-
55
- while (TLX_LIKELY(j != begin))
56
- {
57
- CharIterator s = ss.get_chars(ss[j - 1], depth);
58
- CharIterator t = ss.get_chars(tmp, depth);
59
-
60
- while (TLX_LIKELY(ss.is_equal(ss[j - 1], s, tmp, t)))
61
- ++s, ++t;
62
-
63
- if (TLX_UNLIKELY(ss.is_leq(ss[j - 1], s, tmp, t)))
64
- break;
65
-
66
- ss[j] = std::move(ss[j - 1]);
67
- --j;
68
- }
69
-
70
- ss[j] = std::move(tmp);
71
- }
72
- }
73
-
74
- /******************************************************************************/
75
-
76
- //! LCP insertion sort for abstract string sets. Enabled via SFINAE if
77
- //! StringPtr::with_lcp is true. This method only requires O(1) additional
78
- //! memory for sorting n strings, and runs in time O(n^2 + D).
79
- template <typename StringPtr>
80
- static inline typename enable_if<StringPtr::with_lcp, void>::type
81
- insertion_sort(const StringPtr& strptr, size_t depth, size_t /* memory */)
82
- {
83
- typedef typename StringPtr::StringSet StringSet;
84
- typedef typename StringPtr::LcpType LcpType;
85
- typedef typename StringSet::Iterator Iterator;
86
- typedef typename StringSet::String String;
87
- typedef typename StringSet::CharIterator CharIterator;
88
-
89
- // this stores the begin iterator and size n, making the loops faster
90
- const StringSet& ss = strptr.active();
91
- size_t n = ss.size();
92
- if (n <= 1)
93
- return;
94
-
95
- const Iterator begin = ss.begin();
96
-
97
- for (size_t j = 0; j < n - 1; ++j)
98
- {
99
- // insert strings[j] into sorted strings[0..j-1]
100
-
101
- String new_str = std::move(ss[begin + j]);
102
- LcpType new_lcp = depth; // start with LCP depth
103
-
104
- size_t i = j;
105
- while (i > 0)
106
- {
107
- LcpType prev_lcp = new_lcp;
108
-
109
- String cur_str = std::move(ss[begin + i - 1]);
110
- LcpType cur_lcp = strptr.get_lcp(i);
111
-
112
- if (cur_lcp < new_lcp)
113
- {
114
- // CASE 1: lcp goes down -> insert string
115
-
116
- // move comparison string back
117
- ss[begin + i - 1] = std::move(cur_str);
118
- break;
119
- }
120
-
121
- if (cur_lcp == new_lcp)
122
- {
123
- // CASE 2: compare more characters
124
-
125
- CharIterator c1 = ss.get_chars(new_str, new_lcp);
126
- CharIterator c2 = ss.get_chars(cur_str, new_lcp);
127
-
128
- while (ss.is_equal(new_str, c1, cur_str, c2))
129
- ++c1, ++c2, ++new_lcp;
130
-
131
- // if (new_str >= curr_str) -> insert string
132
- if (!ss.is_less(new_str, c1, cur_str, c2))
133
- {
134
- // update lcp of prev (smaller string) with inserted string
135
- strptr.set_lcp(i, new_lcp);
136
- // lcp of inserted string with next string
137
- new_lcp = prev_lcp;
138
-
139
- // move comparison string back
140
- ss[begin + i - 1] = std::move(cur_str);
141
- break;
142
- }
143
- }
144
- // else (cur_lcp > new_lcp), CASE 3: nothing to do
145
-
146
- ss[begin + i] = std::move(cur_str);
147
- strptr.set_lcp(i + 1, cur_lcp);
148
-
149
- --i;
150
- }
151
-
152
- ss[begin + i] = std::move(new_str);
153
- strptr.set_lcp(i + 1, new_lcp);
154
- }
155
-
156
- // last loop specialized with checks for out-of-bound access to lcp.
157
- {
158
- size_t j = n - 1;
159
-
160
- // insert strings[j] into sorted strings[0..j-1]
161
-
162
- String new_str = std::move(ss[begin + j]);
163
- LcpType new_lcp = depth; // start with LCP depth
164
-
165
- size_t i = j;
166
- while (i > 0)
167
- {
168
- LcpType prev_lcp = new_lcp;
169
-
170
- String cur_str = std::move(ss[begin + i - 1]);
171
- LcpType cur_lcp = strptr.get_lcp(i);
172
-
173
- if (cur_lcp < new_lcp)
174
- {
175
- // CASE 1: lcp goes down -> insert string
176
-
177
- // move comparison string back
178
- ss[begin + i - 1] = std::move(cur_str);
179
- break;
180
- }
181
-
182
- if (cur_lcp == new_lcp)
183
- {
184
- // CASE 2: compare more characters
185
-
186
- CharIterator c1 = ss.get_chars(new_str, new_lcp);
187
- CharIterator c2 = ss.get_chars(cur_str, new_lcp);
188
-
189
- while (ss.is_equal(new_str, c1, cur_str, c2))
190
- ++c1, ++c2, ++new_lcp;
191
-
192
- // if (new_str >= curr_str) -> insert string
193
- if (!ss.is_less(new_str, c1, cur_str, c2))
194
- {
195
- // update lcp of prev (smaller string) with inserted string
196
- strptr.set_lcp(i, new_lcp);
197
- // lcp of inserted string with next string
198
- new_lcp = prev_lcp;
199
-
200
- // move comparison string back
201
- ss[begin + i - 1] = std::move(cur_str);
202
- break;
203
- }
204
- }
205
- // else (cur_lcp > new_lcp), CASE 3: nothing to do
206
-
207
- ss[begin + i] = std::move(cur_str);
208
- if (i + 1 < n) // check out-of-bounds copy
209
- strptr.set_lcp(i + 1, cur_lcp);
210
-
211
- --i;
212
- }
213
-
214
- ss[begin + i] = std::move(new_str);
215
- if (i + 1 < n)
216
- { // check out-of-bounds save
217
- strptr.set_lcp(i + 1, new_lcp);
218
- }
219
- }
220
- }
221
-
222
- /******************************************************************************/
223
-
224
- } // namespace sort_strings_detail
225
-
226
- //! \}
227
-
228
- } // namespace tlx
229
-
230
- #endif // !TLX_SORT_STRINGS_INSERTION_SORT_HEADER
231
-
232
- /******************************************************************************/