@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,298 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/string/trim.hpp
3
- *
4
- * Part of tlx - http://panthema.net/tlx
5
- *
6
- * Copyright (C) 2007-2024 Timo Bingmann <tb@panthema.net>
7
- *
8
- * All rights reserved. Published under the Boost Software License, Version 1.0
9
- ******************************************************************************/
10
-
11
- #ifndef TLX_STRING_TRIM_HEADER
12
- #define TLX_STRING_TRIM_HEADER
13
-
14
- #include <tlx/container/string_view.hpp>
15
- #include <string>
16
-
17
- namespace tlx {
18
-
19
- //! \addtogroup tlx_string
20
- //! \{
21
- //! \name Trim
22
- //! \{
23
-
24
- /******************************************************************************/
25
-
26
- /*!
27
- * Trims the given string in-place on the left and right. Removes all
28
- * characters in the given drop array, which defaults to " \r\n\t".
29
- *
30
- * \param str string to process
31
- * \return reference to the modified string
32
- */
33
- std::string& trim(std::string* str);
34
-
35
- /*!
36
- * Trims the given string in-place on the left and right. Removes all
37
- * characters in the given drop array, which defaults to " \r\n\t".
38
- *
39
- * \param str string to process
40
- * \param drop remove these characters
41
- * \return reference to the modified string
42
- */
43
- std::string& trim(std::string* str, tlx::string_view drop);
44
-
45
- /*!
46
- * Trims the given string in-place on the left and right. Removes all
47
- * characters equal to the given drop character.
48
- *
49
- * \param str string to process
50
- * \param drop remove this character
51
- * \return reference to the modified string
52
- */
53
- std::string& trim(std::string* str, char drop);
54
-
55
- /*!
56
- * Trims the given string in-place on the left and right. Removes all
57
- * characters in the given drop array, which defaults to " \r\n\t".
58
- *
59
- * \param str string to process
60
- * \return reference to the modified string
61
- */
62
- tlx::string_view& trim(tlx::string_view* str);
63
-
64
- /*!
65
- * Trims the given string in-place on the left and right. Removes all
66
- * characters in the given drop array, which defaults to " \r\n\t".
67
- *
68
- * \param str string to process
69
- * \param drop remove these characters
70
- * \return reference to the modified string
71
- */
72
- tlx::string_view& trim(tlx::string_view* str, tlx::string_view drop);
73
-
74
- /*!
75
- * Trims the given string in-place on the left and right. Removes all
76
- * characters equal to the given drop character.
77
- *
78
- * \param str string to process
79
- * \param drop remove this character
80
- * \return reference to the modified string
81
- */
82
- tlx::string_view& trim(tlx::string_view* str, char drop);
83
-
84
- /*!
85
- * Trims the given string in-place on the left and right. Removes all
86
- * characters in the given drop array, which defaults to " \r\n\t".
87
- *
88
- * \param str string to process
89
- * \return reference to the modified string
90
- */
91
- tlx::string_view trim(tlx::string_view str);
92
-
93
- /*!
94
- * Trims the given string in-place on the left and right. Removes all
95
- * characters in the given drop array, which defaults to " \r\n\t".
96
- *
97
- * \param str string to process
98
- * \param drop remove these characters
99
- * \return reference to the modified string
100
- */
101
- tlx::string_view trim(tlx::string_view str, tlx::string_view drop);
102
-
103
- /*!
104
- * Trims the given string in-place on the left and right. Removes all
105
- * characters equal to the given drop character.
106
- *
107
- * \param str string to process
108
- * \param drop remove this character
109
- * \return reference to the modified string
110
- */
111
- tlx::string_view trim(tlx::string_view str, char drop);
112
-
113
- /******************************************************************************/
114
-
115
- /*!
116
- * Trims the given string in-place only on the right. Removes all characters in
117
- * the given drop array, which defaults to " \r\n\t".
118
- *
119
- * \param str string to process
120
- * \return reference to the modified string
121
- */
122
- std::string& trim_right(std::string* str);
123
-
124
- /*!
125
- * Trims the given string in-place only on the right. Removes all characters in
126
- * the given drop array, which defaults to " \r\n\t".
127
- *
128
- * \param str string to process
129
- * \param drop remove these characters
130
- * \return reference to the modified string
131
- */
132
- std::string& trim_right(std::string* str, tlx::string_view drop);
133
-
134
- /*!
135
- * Trims the given string in-place only on the right. Removes all
136
- * characters equal to the given drop character.
137
- *
138
- * \param str string to process
139
- * \param drop remove this character
140
- * \return reference to the modified string
141
- */
142
- std::string& trim_right(std::string* str, char drop);
143
-
144
- /*!
145
- * Trims the given string in-place only on the right. Removes all characters in
146
- * the given drop array, which defaults to " \r\n\t".
147
- *
148
- * \param str string to process
149
- * \return reference to the modified string
150
- */
151
- tlx::string_view& trim_right(tlx::string_view* str);
152
-
153
- /*!
154
- * Trims the given string in-place only on the right. Removes all characters in
155
- * the given drop array, which defaults to " \r\n\t".
156
- *
157
- * \param str string to process
158
- * \param drop remove these characters
159
- * \return reference to the modified string
160
- */
161
- tlx::string_view& trim_right(tlx::string_view* str, tlx::string_view drop);
162
-
163
- /*!
164
- * Trims the given string in-place only on the right. Removes all
165
- * characters equal to the given drop character.
166
- *
167
- * \param str string to process
168
- * \param drop remove this character
169
- * \return reference to the modified string
170
- */
171
- tlx::string_view& trim_right(tlx::string_view* str, char drop);
172
-
173
- /*!
174
- * Trims the given string only on the right. Removes all characters in the
175
- * given drop array, which defaults to " \r\n\t". Returns a copy of the string.
176
- *
177
- * \param str string to process
178
- * \return new trimmed string
179
- */
180
- tlx::string_view trim_right(tlx::string_view str);
181
-
182
- /*!
183
- * Trims the given string only on the right. Removes all characters in the
184
- * given drop array, which defaults to " \r\n\t". Returns a copy of the string.
185
- *
186
- * \param str string to process
187
- * \param drop remove these characters
188
- * \return new trimmed string
189
- */
190
- tlx::string_view trim_right(tlx::string_view str, tlx::string_view drop);
191
-
192
- /*!
193
- * Trims the given string only on the right. Removes all
194
- * characters equal to the given drop character.
195
- *
196
- * \param str string to process
197
- * \param drop remove this character
198
- * \return new trimmed string
199
- */
200
- tlx::string_view trim_right(tlx::string_view str, char drop);
201
-
202
- /******************************************************************************/
203
-
204
- /*!
205
- * Trims the given string in-place only on the left. Removes all characters in
206
- * the given drop array, which defaults to " \r\n\t".
207
- *
208
- * \param str string to process
209
- * \return reference to the modified string
210
- */
211
- std::string& trim_left(std::string* str);
212
-
213
- /*!
214
- * Trims the given string in-place only on the left. Removes all characters in
215
- * the given drop array, which defaults to " \r\n\t".
216
- *
217
- * \param str string to process
218
- * \param drop remove these characters
219
- * \return reference to the modified string
220
- */
221
- std::string& trim_left(std::string* str, tlx::string_view drop);
222
-
223
- /*!
224
- * Trims the given string in-place only on the left. Removes all
225
- * characters equal to the given drop character.
226
- *
227
- * \param str string to process
228
- * \param drop remove this character
229
- * \return reference to the modified string
230
- */
231
- std::string& trim_left(std::string* str, char drop);
232
-
233
- /*!
234
- * Trims the given string in-place only on the left. Removes all characters in
235
- * the given drop array, which defaults to " \r\n\t".
236
- *
237
- * \param str string to process
238
- * \return reference to the modified string
239
- */
240
- tlx::string_view& trim_left(tlx::string_view* str);
241
-
242
- /*!
243
- * Trims the given string in-place only on the left. Removes all characters in
244
- * the given drop array, which defaults to " \r\n\t".
245
- *
246
- * \param str string to process
247
- * \param drop remove these characters
248
- * \return reference to the modified string
249
- */
250
- tlx::string_view& trim_left(tlx::string_view* str, tlx::string_view drop);
251
-
252
- /*!
253
- * Trims the given string in-place only on the left. Removes all
254
- * characters equal to the given drop character.
255
- *
256
- * \param str string to process
257
- * \param drop remove this character
258
- * \return reference to the modified string
259
- */
260
- tlx::string_view& trim_left(tlx::string_view* str, char drop);
261
-
262
- /*!
263
- * Trims the given string only on the left. Removes all characters in the given
264
- * drop array, which defaults to " \r\n\t". Returns a copy of the string.
265
- *
266
- * \param str string to process
267
- * \return new trimmed string
268
- */
269
- tlx::string_view trim_left(tlx::string_view str);
270
-
271
- /*!
272
- * Trims the given string only on the left. Removes all characters in the given
273
- * drop array, which defaults to " \r\n\t". Returns a copy of the string.
274
- *
275
- * \param str string to process
276
- * \param drop remove these characters
277
- * \return new trimmed string
278
- */
279
- tlx::string_view trim_left(tlx::string_view str, tlx::string_view drop);
280
-
281
- /*!
282
- * Trims the given string only on the left. Removes all characters equal to the
283
- * given drop character. Returns a copy of the string.
284
- *
285
- * \param str string to process
286
- * \param drop remove this character
287
- * \return new trimmed string
288
- */
289
- tlx::string_view trim_left(tlx::string_view str, char drop);
290
-
291
- //! \}
292
- //! \}
293
-
294
- } // namespace tlx
295
-
296
- #endif // !TLX_STRING_TRIM_HEADER
297
-
298
- /******************************************************************************/
@@ -1,33 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/string/union_words.hpp
3
- *
4
- * Part of tlx - http://panthema.net/tlx
5
- *
6
- * Copyright (C) 2016-2024 Timo Bingmann <tb@panthema.net>
7
- *
8
- * All rights reserved. Published under the Boost Software License, Version 1.0
9
- ******************************************************************************/
10
-
11
- #ifndef TLX_STRING_UNION_WORDS_HEADER
12
- #define TLX_STRING_UNION_WORDS_HEADER
13
-
14
- #include <tlx/container/string_view.hpp>
15
- #include <string>
16
-
17
- namespace tlx {
18
-
19
- //! \addtogroup tlx_string
20
- //! \{
21
-
22
- /*!
23
- * Return union of two keyword sets.
24
- */
25
- std::string union_words(tlx::string_view wordsA, tlx::string_view wordsB);
26
-
27
- //! \}
28
-
29
- } // namespace tlx
30
-
31
- #endif // !TLX_STRING_UNION_WORDS_HEADER
32
-
33
- /******************************************************************************/
@@ -1,35 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/string/word_wrap.hpp
3
- *
4
- * Part of tlx - http://panthema.net/tlx
5
- *
6
- * Copyright (C) 2016-2024 Timo Bingmann <tb@panthema.net>
7
- *
8
- * All rights reserved. Published under the Boost Software License, Version 1.0
9
- ******************************************************************************/
10
-
11
- #ifndef TLX_STRING_WORD_WRAP_HEADER
12
- #define TLX_STRING_WORD_WRAP_HEADER
13
-
14
- #include <tlx/container/string_view.hpp>
15
- #include <string>
16
-
17
- namespace tlx {
18
-
19
- //! \addtogroup tlx_string
20
- //! \{
21
-
22
- /*!
23
- * Try to wrap a string to 80 columns without split words. All newlines are
24
- * kept, new newline characters are inserted only at spaces, hence, words are
25
- * never split. If words longer than 80 columns occur they are NOT broken.
26
- */
27
- std::string word_wrap(tlx::string_view str, unsigned int wrap = 80);
28
-
29
- //! \}
30
-
31
- } // namespace tlx
32
-
33
- #endif // !TLX_STRING_WORD_WRAP_HEADER
34
-
35
- /******************************************************************************/
@@ -1,68 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/string.hpp
3
- *
4
- * Part of tlx - http://panthema.net/tlx
5
- *
6
- * Copyright (C) 2017 Timo Bingmann <tb@panthema.net>
7
- *
8
- * All rights reserved. Published under the Boost Software License, Version 1.0
9
- ******************************************************************************/
10
-
11
- #ifndef TLX_STRING_HEADER
12
- #define TLX_STRING_HEADER
13
-
14
- //! \defgroup tlx_string String Algorithms
15
- //! Simple string manipulations
16
-
17
- /*[[[perl
18
- my %exclude = ("tlx/string/appendline.hpp" => 1,
19
- "tlx/string/ssprintf_generic.hpp" => 1);
20
- foreach (grep {!$exclude{$_}} sort glob("tlx/string/"."*.hpp")) {
21
- print "#include <$_> // NOLINT(misc-include-cleaner)\n"
22
- }
23
- ]]]*/
24
- #include <tlx/string/base64.hpp> // NOLINT(misc-include-cleaner)
25
- #include <tlx/string/bitdump.hpp> // NOLINT(misc-include-cleaner)
26
- #include <tlx/string/compare_icase.hpp> // NOLINT(misc-include-cleaner)
27
- #include <tlx/string/contains.hpp> // NOLINT(misc-include-cleaner)
28
- #include <tlx/string/contains_word.hpp> // NOLINT(misc-include-cleaner)
29
- #include <tlx/string/ends_with.hpp> // NOLINT(misc-include-cleaner)
30
- #include <tlx/string/equal_icase.hpp> // NOLINT(misc-include-cleaner)
31
- #include <tlx/string/erase_all.hpp> // NOLINT(misc-include-cleaner)
32
- #include <tlx/string/escape_html.hpp> // NOLINT(misc-include-cleaner)
33
- #include <tlx/string/escape_uri.hpp> // NOLINT(misc-include-cleaner)
34
- #include <tlx/string/expand_environment_variables.hpp> // NOLINT(misc-include-cleaner)
35
- #include <tlx/string/extract_between.hpp> // NOLINT(misc-include-cleaner)
36
- #include <tlx/string/format_iec_units.hpp> // NOLINT(misc-include-cleaner)
37
- #include <tlx/string/format_si_iec_units.hpp> // NOLINT(misc-include-cleaner)
38
- #include <tlx/string/format_si_units.hpp> // NOLINT(misc-include-cleaner)
39
- #include <tlx/string/hash_djb2.hpp> // NOLINT(misc-include-cleaner)
40
- #include <tlx/string/hash_sdbm.hpp> // NOLINT(misc-include-cleaner)
41
- #include <tlx/string/hexdump.hpp> // NOLINT(misc-include-cleaner)
42
- #include <tlx/string/index_of.hpp> // NOLINT(misc-include-cleaner)
43
- #include <tlx/string/join.hpp> // NOLINT(misc-include-cleaner)
44
- #include <tlx/string/join_generic.hpp> // NOLINT(misc-include-cleaner)
45
- #include <tlx/string/join_quoted.hpp> // NOLINT(misc-include-cleaner)
46
- #include <tlx/string/less_icase.hpp> // NOLINT(misc-include-cleaner)
47
- #include <tlx/string/levenshtein.hpp> // NOLINT(misc-include-cleaner)
48
- #include <tlx/string/pad.hpp> // NOLINT(misc-include-cleaner)
49
- #include <tlx/string/parse_si_iec_units.hpp> // NOLINT(misc-include-cleaner)
50
- #include <tlx/string/parse_uri.hpp> // NOLINT(misc-include-cleaner)
51
- #include <tlx/string/parse_uri_form_data.hpp> // NOLINT(misc-include-cleaner)
52
- #include <tlx/string/replace.hpp> // NOLINT(misc-include-cleaner)
53
- #include <tlx/string/split.hpp> // NOLINT(misc-include-cleaner)
54
- #include <tlx/string/split_quoted.hpp> // NOLINT(misc-include-cleaner)
55
- #include <tlx/string/split_view.hpp> // NOLINT(misc-include-cleaner)
56
- #include <tlx/string/split_words.hpp> // NOLINT(misc-include-cleaner)
57
- #include <tlx/string/ssprintf.hpp> // NOLINT(misc-include-cleaner)
58
- #include <tlx/string/starts_with.hpp> // NOLINT(misc-include-cleaner)
59
- #include <tlx/string/to_lower.hpp> // NOLINT(misc-include-cleaner)
60
- #include <tlx/string/to_upper.hpp> // NOLINT(misc-include-cleaner)
61
- #include <tlx/string/trim.hpp> // NOLINT(misc-include-cleaner)
62
- #include <tlx/string/union_words.hpp> // NOLINT(misc-include-cleaner)
63
- #include <tlx/string/word_wrap.hpp> // NOLINT(misc-include-cleaner)
64
- // [[[end]]]
65
-
66
- #endif // !TLX_STRING_HEADER
67
-
68
- /******************************************************************************/
@@ -1,109 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/thread_barrier_mutex.hpp
3
- *
4
- * Part of tlx - http://panthema.net/tlx
5
- *
6
- * Copyright (C) 2015-2019 Timo Bingmann <tb@panthema.net>
7
- *
8
- * All rights reserved. Published under the Boost Software License, Version 1.0
9
- ******************************************************************************/
10
-
11
- #ifndef TLX_THREAD_BARRIER_MUTEX_HEADER
12
- #define TLX_THREAD_BARRIER_MUTEX_HEADER
13
-
14
- #include <tlx/meta/no_operation.hpp>
15
- #include <condition_variable>
16
- #include <cstddef>
17
- #include <mutex>
18
-
19
- namespace tlx {
20
-
21
- /*!
22
- * Implements a thread barrier using mutex locking and condition variables that
23
- * can be used to synchronize threads.
24
- */
25
- class ThreadBarrierMutex
26
- {
27
- public:
28
- /*!
29
- * Creates a new barrier that waits for n threads.
30
- */
31
- explicit ThreadBarrierMutex(size_t thread_count)
32
- : thread_count_(thread_count)
33
- {
34
- }
35
-
36
- /*!
37
- * Waits for n threads to arrive.
38
- *
39
- * This method blocks and returns as soon as n threads are waiting inside
40
- * the method. Prior to continuing work, the lambda functor is called by the
41
- * last thread entering the barrier.
42
- */
43
- template <typename Lambda = NoOperation<void> >
44
- void wait(Lambda lambda = Lambda())
45
- {
46
- std::unique_lock<std::mutex> lock(mutex_);
47
-
48
- size_t current = step_;
49
- counts_[current]++;
50
-
51
- if (counts_[current] < thread_count_)
52
- {
53
- while (counts_[current] < thread_count_)
54
- {
55
- cv_.wait(lock);
56
- }
57
- }
58
- else
59
- {
60
- // last thread has reached the barrier
61
- step_ = step_ ? 0 : 1;
62
- counts_[step_] = 0;
63
- lambda();
64
- cv_.notify_all();
65
- }
66
- }
67
-
68
- /*!
69
- * Waits for n threads to arrive. Identical with wait() for
70
- * ThreadBarrierMutex.
71
- *
72
- * This method blocks and returns as soon as n threads are waiting inside
73
- * the method. Prior to continuing work, the lambda functor is called by the
74
- * last thread entering the barrier.
75
- */
76
- template <typename Lambda = NoOperation<void> >
77
- void wait_yield(Lambda lambda = Lambda())
78
- {
79
- return wait(lambda);
80
- }
81
-
82
- //! return generation step bit: 0 or 1
83
- size_t step() const
84
- {
85
- return step_;
86
- }
87
-
88
- private:
89
- //! number of threads
90
- const size_t thread_count_;
91
-
92
- //! mutex to synchronize access to the counters
93
- std::mutex mutex_;
94
-
95
- //! condition variable everyone waits on for the last thread to signal
96
- std::condition_variable cv_;
97
-
98
- //! two counters: switch between them every run.
99
- size_t counts_[2] = {0, 0};
100
-
101
- //! current counter used.
102
- size_t step_ = 0;
103
- };
104
-
105
- } // namespace tlx
106
-
107
- #endif // !TLX_THREAD_BARRIER_MUTEX_HEADER
108
-
109
- /******************************************************************************/
@@ -1,127 +0,0 @@
1
- /*******************************************************************************
2
- * tlx/thread_barrier_spin.hpp
3
- *
4
- * Part of tlx - http://panthema.net/tlx
5
- *
6
- * Copyright (C) 2015-2019 Timo Bingmann <tb@panthema.net>
7
- *
8
- * All rights reserved. Published under the Boost Software License, Version 1.0
9
- ******************************************************************************/
10
-
11
- #ifndef TLX_THREAD_BARRIER_SPIN_HEADER
12
- #define TLX_THREAD_BARRIER_SPIN_HEADER
13
-
14
- #include <tlx/meta/no_operation.hpp>
15
- #include <atomic>
16
- #include <cstddef>
17
- #include <thread>
18
-
19
- namespace tlx {
20
-
21
- /*!
22
- * Implements a thread barrier using atomics and a spin lock that can be used to
23
- * synchronize threads.
24
- *
25
- * This ThreadBarrier implementation was a lot faster in tests than
26
- * ThreadBarrierMutex, but ThreadSanitizer shows data races (probably due to the
27
- * generation counter).
28
- */
29
- class ThreadBarrierSpin
30
- {
31
- public:
32
- /*!
33
- * Creates a new barrier that waits for n threads.
34
- */
35
- explicit ThreadBarrierSpin(size_t thread_count)
36
- : thread_count_(thread_count - 1)
37
- {
38
- }
39
-
40
- /*!
41
- * Waits for n threads to arrive. When they have arrive, execute lambda on
42
- * the one thread, which arrived last. After lambda, step the generation
43
- * counter.
44
- *
45
- * This method blocks and returns as soon as n threads are waiting inside
46
- * the method.
47
- */
48
- template <typename Lambda = NoOperation<void> >
49
- void wait(Lambda lambda = Lambda())
50
- {
51
- // get synchronization generation step counter.
52
- size_t this_step = step_.load(std::memory_order_acquire);
53
-
54
- if (waiting_.fetch_add(1, std::memory_order_acq_rel) == thread_count_)
55
- {
56
- // we are the last thread to wait() -> reset and increment step.
57
- waiting_.store(0, std::memory_order_release);
58
- // step other generation counters.
59
- lambda();
60
- // the following statement releases all threads from busy waiting.
61
- step_.fetch_add(1, std::memory_order_acq_rel);
62
- }
63
- else
64
- {
65
- // spin lock awaiting the last thread to increment the step counter.
66
- while (step_.load(std::memory_order_acquire) == this_step)
67
- {
68
- // busy spinning loop
69
- }
70
- }
71
- }
72
-
73
- /*!
74
- * Waits for n threads to arrive, yield thread while spinning. When they
75
- * have arrive, execute lambda on the one thread, which arrived last. After
76
- * lambda, step the generation counter.
77
- *
78
- * This method blocks and returns as soon as n threads are waiting inside
79
- * the method.
80
- */
81
- template <typename Lambda = NoOperation<void> >
82
- void wait_yield(Lambda lambda = Lambda())
83
- {
84
- // get synchronization generation step counter.
85
- size_t this_step = step_.load(std::memory_order_acquire);
86
-
87
- if (waiting_.fetch_add(1, std::memory_order_acq_rel) == thread_count_)
88
- {
89
- // we are the last thread to wait() -> reset and increment step.
90
- waiting_.store(0, std::memory_order_release);
91
- // step other generation counters.
92
- lambda();
93
- // the following statement releases all threads from busy waiting.
94
- step_.fetch_add(1, std::memory_order_acq_rel);
95
- }
96
- else
97
- {
98
- // spin lock awaiting the last thread to increment the step counter.
99
- while (step_.load(std::memory_order_acquire) == this_step)
100
- {
101
- std::this_thread::yield();
102
- }
103
- }
104
- }
105
-
106
- //! Return generation step counter
107
- size_t step() const
108
- {
109
- return step_.load(std::memory_order_acquire);
110
- }
111
-
112
- private:
113
- //! number of threads, minus one due to comparison needed in loop
114
- const size_t thread_count_;
115
-
116
- //! number of threads in spin lock
117
- std::atomic<size_t> waiting_{0};
118
-
119
- //! barrier synchronization generation
120
- std::atomic<size_t> step_{0};
121
- };
122
-
123
- } // namespace tlx
124
-
125
- #endif // !TLX_THREAD_BARRIER_SPIN_HEADER
126
-
127
- /******************************************************************************/