@ladybugmem/icebug 0.1.0

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