@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,1038 +0,0 @@
1
- /*
2
- * This file is a part of TTMath Bignum Library
3
- * and is distributed under the 3-Clause BSD Licence.
4
- * Author: Tomasz Sowa <t.sowa@ttmath.org>
5
- */
6
-
7
- /*
8
- * Copyright (c) 2006-2010, Tomasz Sowa
9
- * All rights reserved.
10
- *
11
- * Redistribution and use in source and binary forms, with or without
12
- * modification, are permitted provided that the following conditions are met:
13
- *
14
- * * Redistributions of source code must retain the above copyright notice,
15
- * this list of conditions and the following disclaimer.
16
- *
17
- * * Redistributions in binary form must reproduce the above copyright
18
- * notice, this list of conditions and the following disclaimer in the
19
- * documentation and/or other materials provided with the distribution.
20
- *
21
- * * Neither the name Tomasz Sowa nor the names of contributors to this
22
- * project may be used to endorse or promote products derived
23
- * from this software without specific prior written permission.
24
- *
25
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
35
- * THE POSSIBILITY OF SUCH DAMAGE.
36
- */
37
-
38
- #ifndef headerfilettmathuint_noasm
39
- #define headerfilettmathuint_noasm
40
-
41
-
42
- /*!
43
- \file ttmathuint_noasm.h
44
- \brief template class UInt<uint> with methods without any assembler code (used for no-asm version of ttmath)
45
-
46
- this file is included at the end of ttmathuint.h
47
- */
48
-
49
- #ifdef TTMATH_NOASM
50
-
51
-
52
-
53
- namespace ttmath
54
- {
55
-
56
- /*!
57
- returning the string represents the currect type of the library
58
- we have following types:
59
- - asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits)
60
- - asm_gcc_32 - with asm code designed for GCC (32 bits)
61
- - asm_vc_64 - with asm for VC (64 bit)
62
- - asm_gcc_64 - with asm for GCC (64 bit)
63
- - no_asm_32 - pure C++ version (32 bit) - without any asm code
64
- - no_asm_64 - pure C++ version (64 bit) - without any asm code
65
- */
66
- template<uint value_size>
67
- const char * UInt<value_size>::LibTypeStr()
68
- {
69
- #ifdef TTMATH_PLATFORM32
70
- static const char info[] = "no_asm_32";
71
- #endif
72
-
73
- #ifdef TTMATH_PLATFORM64
74
- static const char info[] = "no_asm_64";
75
- #endif
76
-
77
- return info;
78
- }
79
-
80
-
81
- /*!
82
- returning the currect type of the library
83
- */
84
- template<uint value_size>
85
- LibTypeCode UInt<value_size>::LibType()
86
- {
87
- #ifdef TTMATH_PLATFORM32
88
- LibTypeCode info = no_asm_32;
89
- #endif
90
-
91
- #ifdef TTMATH_PLATFORM64
92
- LibTypeCode info = no_asm_64;
93
- #endif
94
-
95
- return info;
96
- }
97
-
98
-
99
- /*!
100
- this method adds two words together
101
- returns carry
102
-
103
- this method is created only when TTMATH_NOASM macro is defined
104
- */
105
- template<uint value_size>
106
- uint UInt<value_size>::AddTwoWords(uint a, uint b, uint carry, uint * result)
107
- {
108
- uint temp;
109
-
110
- if( carry == 0 )
111
- {
112
- temp = a + b;
113
-
114
- if( temp < a )
115
- carry = 1;
116
- }
117
- else
118
- {
119
- carry = 1;
120
- temp = a + b + carry;
121
-
122
- if( temp > a ) // !(temp<=a)
123
- carry = 0;
124
- }
125
-
126
- *result = temp;
127
-
128
- return carry;
129
- }
130
-
131
-
132
-
133
- /*!
134
- this method adding ss2 to the this and adding carry if it's defined
135
- (this = this + ss2 + c)
136
-
137
- c must be zero or one (might be a bigger value than 1)
138
- function returns carry (1) (if it was)
139
- */
140
-
141
- template<uint value_size>
142
- uint UInt<value_size>::Add(const UInt<value_size> & ss2, uint c)
143
- {
144
- uint i;
145
-
146
- for(i=0 ; i<value_size ; ++i)
147
- c = AddTwoWords(table[i], ss2.table[i], c, &table[i]);
148
-
149
- TTMATH_LOGC("UInt::Add", c)
150
-
151
- return c;
152
- }
153
-
154
-
155
- /*!
156
- this method adds one word (at a specific position)
157
- and returns a carry (if it was)
158
-
159
- if we've got (value_size=3):
160
-
161
- table[0] = 10;
162
- table[1] = 30;
163
- table[2] = 5;
164
-
165
- and we call:
166
-
167
- AddInt(2,1)
168
-
169
- then it'll be:
170
-
171
- table[0] = 10;
172
- table[1] = 30 + 2;
173
- table[2] = 5;
174
-
175
- of course if there was a carry from table[2] it would be returned
176
- */
177
- template<uint value_size>
178
- uint UInt<value_size>::AddInt(uint value, uint index)
179
- {
180
- uint i, c;
181
-
182
- TTMATH_ASSERT( index < value_size )
183
-
184
-
185
- c = AddTwoWords(table[index], value, 0, &table[index]);
186
-
187
- for(i=index+1 ; i<value_size && c ; ++i)
188
- c = AddTwoWords(table[i], 0, c, &table[i]);
189
-
190
- TTMATH_LOGC("UInt::AddInt", c)
191
-
192
- return c;
193
- }
194
-
195
-
196
-
197
-
198
-
199
- /*!
200
- this method adds only two unsigned words to the existing value
201
- and these words begin on the 'index' position
202
- (it's used in the multiplication algorithm 2)
203
-
204
- index should be equal or smaller than value_size-2 (index <= value_size-2)
205
- x1 - lower word, x2 - higher word
206
-
207
- for example if we've got value_size equal 4 and:
208
-
209
- table[0] = 3
210
- table[1] = 4
211
- table[2] = 5
212
- table[3] = 6
213
-
214
- then let
215
-
216
- x1 = 10
217
- x2 = 20
218
-
219
- and
220
-
221
- index = 1
222
-
223
- the result of this method will be:
224
-
225
- table[0] = 3
226
- table[1] = 4 + x1 = 14
227
- table[2] = 5 + x2 = 25
228
- table[3] = 6
229
-
230
- and no carry at the end of table[3]
231
-
232
- (of course if there was a carry in table[2](5+20) then
233
- this carry would be passed to the table[3] etc.)
234
- */
235
- template<uint value_size>
236
- uint UInt<value_size>::AddTwoInts(uint x2, uint x1, uint index)
237
- {
238
- uint i, c;
239
-
240
- TTMATH_ASSERT( index < value_size - 1 )
241
-
242
-
243
- c = AddTwoWords(table[index], x1, 0, &table[index]);
244
- c = AddTwoWords(table[index+1], x2, c, &table[index+1]);
245
-
246
- for(i=index+2 ; i<value_size && c ; ++i)
247
- c = AddTwoWords(table[i], 0, c, &table[i]);
248
-
249
- TTMATH_LOGC("UInt::AddTwoInts", c)
250
-
251
- return c;
252
- }
253
-
254
-
255
-
256
- /*!
257
- this static method addes one vector to the other
258
- 'ss1' is larger in size or equal to 'ss2'
259
-
260
- - ss1 points to the first (larger) vector
261
- - ss2 points to the second vector
262
- - ss1_size - size of the ss1 (and size of the result too)
263
- - ss2_size - size of the ss2
264
- - result - is the result vector (which has size the same as ss1: ss1_size)
265
-
266
- Example: ss1_size is 5, ss2_size is 3
267
- ss1: ss2: result (output):
268
- 5 1 5+1
269
- 4 3 4+3
270
- 2 7 2+7
271
- 6 6
272
- 9 9
273
-
274
- of course the carry is propagated and will be returned from the last item
275
- (this method is used by the Karatsuba multiplication algorithm)
276
- */
277
- template<uint value_size>
278
- uint UInt<value_size>::AddVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result)
279
- {
280
- uint i, c = 0;
281
-
282
- TTMATH_ASSERT( ss1_size >= ss2_size )
283
-
284
- for(i=0 ; i<ss2_size ; ++i)
285
- c = AddTwoWords(ss1[i], ss2[i], c, &result[i]);
286
-
287
- for( ; i<ss1_size ; ++i)
288
- c = AddTwoWords(ss1[i], 0, c, &result[i]);
289
-
290
- TTMATH_VECTOR_LOGC("UInt::AddVector", c, result, ss1_size)
291
-
292
- return c;
293
- }
294
-
295
-
296
-
297
-
298
- /*!
299
- this method subtractes one word from the other
300
- returns carry
301
-
302
- this method is created only when TTMATH_NOASM macro is defined
303
- */
304
- template<uint value_size>
305
- uint UInt<value_size>::SubTwoWords(uint a, uint b, uint carry, uint * result)
306
- {
307
- if( carry == 0 )
308
- {
309
- *result = a - b;
310
-
311
- if( a < b )
312
- carry = 1;
313
- }
314
- else
315
- {
316
- carry = 1;
317
- *result = a - b - carry;
318
-
319
- if( a > b ) // !(a <= b )
320
- carry = 0;
321
- }
322
-
323
- return carry;
324
- }
325
-
326
-
327
-
328
-
329
- /*!
330
- this method's subtracting ss2 from the 'this' and subtracting
331
- carry if it has been defined
332
- (this = this - ss2 - c)
333
-
334
- c must be zero or one (might be a bigger value than 1)
335
- function returns carry (1) (if it was)
336
- */
337
- template<uint value_size>
338
- uint UInt<value_size>::Sub(const UInt<value_size> & ss2, uint c)
339
- {
340
- uint i;
341
-
342
- for(i=0 ; i<value_size ; ++i)
343
- c = SubTwoWords(table[i], ss2.table[i], c, &table[i]);
344
-
345
- TTMATH_LOGC("UInt::Sub", c)
346
-
347
- return c;
348
- }
349
-
350
-
351
-
352
-
353
- /*!
354
- this method subtracts one word (at a specific position)
355
- and returns a carry (if it was)
356
-
357
- if we've got (value_size=3):
358
-
359
- table[0] = 10;
360
- table[1] = 30;
361
- table[2] = 5;
362
-
363
- and we call:
364
-
365
- SubInt(2,1)
366
-
367
- then it'll be:
368
-
369
- table[0] = 10;
370
- table[1] = 30 - 2;
371
- table[2] = 5;
372
-
373
- of course if there was a carry from table[2] it would be returned
374
- */
375
- template<uint value_size>
376
- uint UInt<value_size>::SubInt(uint value, uint index)
377
- {
378
- uint i, c;
379
-
380
- TTMATH_ASSERT( index < value_size )
381
-
382
-
383
- c = SubTwoWords(table[index], value, 0, &table[index]);
384
-
385
- for(i=index+1 ; i<value_size && c ; ++i)
386
- c = SubTwoWords(table[i], 0, c, &table[i]);
387
-
388
- TTMATH_LOGC("UInt::SubInt", c)
389
-
390
- return c;
391
- }
392
-
393
-
394
- /*!
395
- this static method subtractes one vector from the other
396
- 'ss1' is larger in size or equal to 'ss2'
397
-
398
- - ss1 points to the first (larger) vector
399
- - ss2 points to the second vector
400
- - ss1_size - size of the ss1 (and size of the result too)
401
- - ss2_size - size of the ss2
402
- - result - is the result vector (which has size the same as ss1: ss1_size)
403
-
404
- Example: ss1_size is 5, ss2_size is 3
405
- ss1: ss2: result (output):
406
- 5 1 5-1
407
- 4 3 4-3
408
- 2 7 2-7
409
- 6 6-1 (the borrow from previous item)
410
- 9 9
411
- return (carry): 0
412
- of course the carry (borrow) is propagated and will be returned from the last item
413
- (this method is used by the Karatsuba multiplication algorithm)
414
- */
415
- template<uint value_size>
416
- uint UInt<value_size>::SubVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result)
417
- {
418
- uint i, c = 0;
419
-
420
- TTMATH_ASSERT( ss1_size >= ss2_size )
421
-
422
- for(i=0 ; i<ss2_size ; ++i)
423
- c = SubTwoWords(ss1[i], ss2[i], c, &result[i]);
424
-
425
- for( ; i<ss1_size ; ++i)
426
- c = SubTwoWords(ss1[i], 0, c, &result[i]);
427
-
428
- TTMATH_VECTOR_LOGC("UInt::SubVector", c, result, ss1_size)
429
-
430
- return c;
431
- }
432
-
433
-
434
-
435
- /*!
436
- this method moves all bits into the left hand side
437
- return value <- this <- c
438
-
439
- the lowest *bit* will be held the 'c' and
440
- the state of one additional bit (on the left hand side)
441
- will be returned
442
-
443
- for example:
444
- let this is 001010000
445
- after Rcl2_one(1) there'll be 010100001 and Rcl2_one returns 0
446
- */
447
- template<uint value_size>
448
- uint UInt<value_size>::Rcl2_one(uint c)
449
- {
450
- uint i, new_c;
451
-
452
- if( c != 0 )
453
- c = 1;
454
-
455
- for(i=0 ; i<value_size ; ++i)
456
- {
457
- new_c = (table[i] & TTMATH_UINT_HIGHEST_BIT) ? 1 : 0;
458
- table[i] = (table[i] << 1) | c;
459
- c = new_c;
460
- }
461
-
462
- TTMATH_LOGC("UInt::Rcl2_one", c)
463
-
464
- return c;
465
- }
466
-
467
-
468
-
469
-
470
-
471
-
472
-
473
- /*!
474
- this method moves all bits into the right hand side
475
- c -> this -> return value
476
-
477
- the highest *bit* will be held the 'c' and
478
- the state of one additional bit (on the right hand side)
479
- will be returned
480
-
481
- for example:
482
- let this is 000000010
483
- after Rcr2_one(1) there'll be 100000001 and Rcr2_one returns 0
484
- */
485
- template<uint value_size>
486
- uint UInt<value_size>::Rcr2_one(uint c)
487
- {
488
- sint i; // signed i
489
- uint new_c;
490
-
491
- if( c != 0 )
492
- c = TTMATH_UINT_HIGHEST_BIT;
493
-
494
- for(i=sint(value_size)-1 ; i>=0 ; --i)
495
- {
496
- new_c = (table[i] & 1) ? TTMATH_UINT_HIGHEST_BIT : 0;
497
- table[i] = (table[i] >> 1) | c;
498
- c = new_c;
499
- }
500
-
501
- c = (c != 0)? 1 : 0;
502
-
503
- TTMATH_LOGC("UInt::Rcr2_one", c)
504
-
505
- return c;
506
- }
507
-
508
-
509
-
510
-
511
- /*!
512
- this method moves all bits into the left hand side
513
- return value <- this <- c
514
-
515
- the lowest *bits* will be held the 'c' and
516
- the state of one additional bit (on the left hand side)
517
- will be returned
518
-
519
- for example:
520
- let this is 001010000
521
- after Rcl2(3, 1) there'll be 010000111 and Rcl2 returns 1
522
- */
523
- template<uint value_size>
524
- uint UInt<value_size>::Rcl2(uint bits, uint c)
525
- {
526
- TTMATH_ASSERT( bits>0 && bits<TTMATH_BITS_PER_UINT )
527
-
528
- uint move = TTMATH_BITS_PER_UINT - bits;
529
- uint i, new_c;
530
-
531
- if( c != 0 )
532
- c = TTMATH_UINT_MAX_VALUE >> move;
533
-
534
- for(i=0 ; i<value_size ; ++i)
535
- {
536
- new_c = table[i] >> move;
537
- table[i] = (table[i] << bits) | c;
538
- c = new_c;
539
- }
540
-
541
- TTMATH_LOGC("UInt::Rcl2", (c & 1))
542
-
543
- return (c & 1);
544
- }
545
-
546
-
547
-
548
-
549
- /*!
550
- this method moves all bits into the right hand side
551
- C -> this -> return value
552
-
553
- the highest *bits* will be held the 'c' and
554
- the state of one additional bit (on the right hand side)
555
- will be returned
556
-
557
- for example:
558
- let this is 000000010
559
- after Rcr2(2, 1) there'll be 110000000 and Rcr2 returns 1
560
- */
561
- template<uint value_size>
562
- uint UInt<value_size>::Rcr2(uint bits, uint c)
563
- {
564
- TTMATH_ASSERT( bits>0 && bits<TTMATH_BITS_PER_UINT )
565
-
566
- uint move = TTMATH_BITS_PER_UINT - bits;
567
- sint i; // signed
568
- uint new_c;
569
-
570
- if( c != 0 )
571
- c = TTMATH_UINT_MAX_VALUE << move;
572
-
573
- for(i=value_size-1 ; i>=0 ; --i)
574
- {
575
- new_c = table[i] << move;
576
- table[i] = (table[i] >> bits) | c;
577
- c = new_c;
578
- }
579
-
580
- c = (c & TTMATH_UINT_HIGHEST_BIT) ? 1 : 0;
581
-
582
- TTMATH_LOGC("UInt::Rcr2", c)
583
-
584
- return c;
585
- }
586
-
587
-
588
-
589
-
590
- /*!
591
- this method returns the number of the highest set bit in x
592
- if the 'x' is zero this method returns '-1'
593
- */
594
- template<uint value_size>
595
- sint UInt<value_size>::FindLeadingBitInWord(uint x)
596
- {
597
- if( x == 0 )
598
- return -1;
599
-
600
- uint bit = TTMATH_BITS_PER_UINT - 1;
601
-
602
- while( (x & TTMATH_UINT_HIGHEST_BIT) == 0 )
603
- {
604
- x = x << 1;
605
- --bit;
606
- }
607
-
608
- return bit;
609
- }
610
-
611
-
612
-
613
- /*!
614
- this method returns the number of the highest set bit in x
615
- if the 'x' is zero this method returns '-1'
616
- */
617
- template<uint value_size>
618
- sint UInt<value_size>::FindLowestBitInWord(uint x)
619
- {
620
- if( x == 0 )
621
- return -1;
622
-
623
- uint bit = 0;
624
-
625
- while( (x & 1) == 0 )
626
- {
627
- x = x >> 1;
628
- ++bit;
629
- }
630
-
631
- return bit;
632
- }
633
-
634
-
635
-
636
- /*!
637
- this method sets a special bit in the 'value'
638
- and returns the last state of the bit (zero or one)
639
-
640
- bit is from <0,TTMATH_BITS_PER_UINT-1>
641
-
642
- e.g.
643
-
644
- uint x = 100;
645
- uint bit = SetBitInWord(x, 3);
646
-
647
- now: x = 108 and bit = 0
648
- */
649
- template<uint value_size>
650
- uint UInt<value_size>::SetBitInWord(uint & value, uint bit)
651
- {
652
- TTMATH_ASSERT( bit < TTMATH_BITS_PER_UINT )
653
-
654
- uint mask = 1;
655
-
656
- if( bit > 0 )
657
- mask = mask << bit;
658
-
659
- uint last = value & mask;
660
- value = value | mask;
661
-
662
- return (last != 0) ? 1 : 0;
663
- }
664
-
665
-
666
-
667
-
668
-
669
-
670
- /*!
671
- *
672
- * Multiplication
673
- *
674
- *
675
- */
676
-
677
-
678
- /*!
679
- multiplication: result_high:result_low = a * b
680
- - result_high - higher word of the result
681
- - result_low - lower word of the result
682
-
683
- this methos never returns a carry
684
-
685
- this method is used in the second version of the multiplication algorithms
686
- */
687
- template<uint value_size>
688
- void UInt<value_size>::MulTwoWords(uint a, uint b, uint * result_high, uint * result_low)
689
- {
690
- #ifdef TTMATH_PLATFORM32
691
-
692
- /*
693
- on 32bit platforms we have defined 'unsigned long long int' type known as 'ulint' in ttmath namespace
694
- this type has 64 bits, then we're using only one multiplication: 32bit * 32bit = 64bit
695
- */
696
-
697
- union uint_
698
- {
699
- struct
700
- {
701
- uint low; // 32 bits
702
- uint high; // 32 bits
703
- } u_;
704
-
705
- ulint u; // 64 bits
706
- } res;
707
-
708
- res.u = ulint(a) * ulint(b); // multiply two 32bit words, the result has 64 bits
709
-
710
- *result_high = res.u_.high;
711
- *result_low = res.u_.low;
712
-
713
- #else
714
-
715
- /*
716
- 64 bits platforms
717
-
718
- we don't have a native type which has 128 bits
719
- then we're splitting 'a' and 'b' to 4 parts (high and low halves)
720
- and using 4 multiplications (with additions and carry correctness)
721
- */
722
-
723
- uint_ a_;
724
- uint_ b_;
725
- uint_ res_high1, res_high2;
726
- uint_ res_low1, res_low2;
727
-
728
- a_.u = a;
729
- b_.u = b;
730
-
731
- /*
732
- the multiplication is as follows (schoolbook algorithm with O(n^2) ):
733
-
734
- 32 bits 32 bits
735
-
736
- +--------------------------------+
737
- | a_.u_.high | a_.u_.low |
738
- +--------------------------------+
739
- | b_.u_.high | b_.u_.low |
740
- +--------------------------------+--------------------------------+
741
- | res_high1.u | res_low1.u |
742
- +--------------------------------+--------------------------------+
743
- | res_high2.u | res_low2.u |
744
- +--------------------------------+--------------------------------+
745
-
746
- 64 bits 64 bits
747
- */
748
-
749
-
750
- uint_ temp;
751
-
752
- res_low1.u = uint(b_.u_.low) * uint(a_.u_.low);
753
-
754
- temp.u = uint(res_low1.u_.high) + uint(b_.u_.low) * uint(a_.u_.high);
755
- res_low1.u_.high = temp.u_.low;
756
- res_high1.u_.low = temp.u_.high;
757
- res_high1.u_.high = 0;
758
-
759
- res_low2.u_.low = 0;
760
- temp.u = uint(b_.u_.high) * uint(a_.u_.low);
761
- res_low2.u_.high = temp.u_.low;
762
-
763
- res_high2.u = uint(b_.u_.high) * uint(a_.u_.high) + uint(temp.u_.high);
764
-
765
- uint c = AddTwoWords(res_low1.u, res_low2.u, 0, &res_low2.u);
766
- AddTwoWords(res_high1.u, res_high2.u, c, &res_high2.u); // there is no carry from here
767
-
768
- *result_high = res_high2.u;
769
- *result_low = res_low2.u;
770
-
771
- #endif
772
- }
773
-
774
-
775
-
776
-
777
- /*!
778
- *
779
- * Division
780
- *
781
- *
782
- */
783
-
784
-
785
- /*!
786
- this method calculates 64bits word a:b / 32bits c (a higher, b lower word)
787
- r = a:b / c and rest - remainder
788
-
789
- *
790
- * WARNING:
791
- * the c has to be suitably large for the result being keeped in one word,
792
- * if c is equal zero there'll be a hardware interruption (0)
793
- * and probably the end of your program
794
- *
795
- */
796
- template<uint value_size>
797
- void UInt<value_size>::DivTwoWords(uint a, uint b, uint c, uint * r, uint * rest)
798
- {
799
- // (a < c ) for the result to be one word
800
- TTMATH_ASSERT( c != 0 && a < c )
801
-
802
- #ifdef TTMATH_PLATFORM32
803
-
804
- union
805
- {
806
- struct
807
- {
808
- uint low; // 32 bits
809
- uint high; // 32 bits
810
- } u_;
811
-
812
- ulint u; // 64 bits
813
- } ab;
814
-
815
- ab.u_.high = a;
816
- ab.u_.low = b;
817
-
818
- *r = uint(ab.u / c);
819
- *rest = uint(ab.u % c);
820
-
821
- #else
822
-
823
- uint_ c_;
824
- c_.u = c;
825
-
826
-
827
- if( a == 0 )
828
- {
829
- *r = b / c;
830
- *rest = b % c;
831
- }
832
- else
833
- if( c_.u_.high == 0 )
834
- {
835
- // higher half of 'c' is zero
836
- // then higher half of 'a' is zero too (look at the asserts at the beginning - 'a' is smaller than 'c')
837
- uint_ a_, b_, res_, temp1, temp2;
838
-
839
- a_.u = a;
840
- b_.u = b;
841
-
842
- temp1.u_.high = a_.u_.low;
843
- temp1.u_.low = b_.u_.high;
844
-
845
- res_.u_.high = (unsigned int)(temp1.u / c);
846
- temp2.u_.high = (unsigned int)(temp1.u % c);
847
- temp2.u_.low = b_.u_.low;
848
-
849
- res_.u_.low = (unsigned int)(temp2.u / c);
850
- *rest = temp2.u % c;
851
-
852
- *r = res_.u;
853
- }
854
- else
855
- {
856
- return DivTwoWords2(a, b, c, r, rest);
857
- }
858
-
859
- #endif
860
- }
861
-
862
-
863
- #ifdef TTMATH_PLATFORM64
864
-
865
-
866
- /*!
867
- this method is available only on 64bit platforms
868
-
869
- the same algorithm like the third division algorithm in ttmathuint.h
870
- but now with the radix=2^32
871
- */
872
- template<uint value_size>
873
- void UInt<value_size>::DivTwoWords2(uint a, uint b, uint c, uint * r, uint * rest)
874
- {
875
- // a is not zero
876
- // c_.u_.high is not zero
877
-
878
- uint_ a_, b_, c_, u_, q_;
879
- unsigned int u3; // 32 bit
880
-
881
- a_.u = a;
882
- b_.u = b;
883
- c_.u = c;
884
-
885
- // normalizing
886
- uint d = DivTwoWordsNormalize(a_, b_, c_);
887
-
888
- // loop from j=1 to j=0
889
- // the first step (for j=2) is skipped because our result is only in one word,
890
- // (first 'q' were 0 and nothing would be changed)
891
- u_.u_.high = a_.u_.high;
892
- u_.u_.low = a_.u_.low;
893
- u3 = b_.u_.high;
894
- q_.u_.high = DivTwoWordsCalculate(u_, u3, c_);
895
- MultiplySubtract(u_, u3, q_.u_.high, c_);
896
-
897
- u_.u_.high = u_.u_.low;
898
- u_.u_.low = u3;
899
- u3 = b_.u_.low;
900
- q_.u_.low = DivTwoWordsCalculate(u_, u3, c_);
901
- MultiplySubtract(u_, u3, q_.u_.low, c_);
902
-
903
- *r = q_.u;
904
-
905
- // unnormalizing for the remainder
906
- u_.u_.high = u_.u_.low;
907
- u_.u_.low = u3;
908
- *rest = DivTwoWordsUnnormalize(u_.u, d);
909
- }
910
-
911
-
912
-
913
-
914
- template<uint value_size>
915
- uint UInt<value_size>::DivTwoWordsNormalize(uint_ & a_, uint_ & b_, uint_ & c_)
916
- {
917
- uint d = 0;
918
-
919
- for( ; (c_.u & TTMATH_UINT_HIGHEST_BIT) == 0 ; ++d )
920
- {
921
- c_.u = c_.u << 1;
922
-
923
- uint bc = b_.u & TTMATH_UINT_HIGHEST_BIT; // carry from 'b'
924
-
925
- b_.u = b_.u << 1;
926
- a_.u = a_.u << 1; // carry bits from 'a' are simply skipped
927
-
928
- if( bc )
929
- a_.u = a_.u | 1;
930
- }
931
-
932
- return d;
933
- }
934
-
935
-
936
- template<uint value_size>
937
- uint UInt<value_size>::DivTwoWordsUnnormalize(uint u, uint d)
938
- {
939
- if( d == 0 )
940
- return u;
941
-
942
- u = u >> d;
943
-
944
- return u;
945
- }
946
-
947
-
948
- template<uint value_size>
949
- unsigned int UInt<value_size>::DivTwoWordsCalculate(uint_ u_, unsigned int u3, uint_ v_)
950
- {
951
- bool next_test;
952
- uint_ qp_, rp_, temp_;
953
-
954
- qp_.u = u_.u / uint(v_.u_.high);
955
- rp_.u = u_.u % uint(v_.u_.high);
956
-
957
- TTMATH_ASSERT( qp_.u_.high==0 || qp_.u_.high==1 )
958
-
959
- do
960
- {
961
- bool decrease = false;
962
-
963
- if( qp_.u_.high == 1 )
964
- decrease = true;
965
- else
966
- {
967
- temp_.u_.high = rp_.u_.low;
968
- temp_.u_.low = u3;
969
-
970
- if( qp_.u * uint(v_.u_.low) > temp_.u )
971
- decrease = true;
972
- }
973
-
974
- next_test = false;
975
-
976
- if( decrease )
977
- {
978
- --qp_.u;
979
- rp_.u += v_.u_.high;
980
-
981
- if( rp_.u_.high == 0 )
982
- next_test = true;
983
- }
984
- }
985
- while( next_test );
986
-
987
- return qp_.u_.low;
988
- }
989
-
990
-
991
- template<uint value_size>
992
- void UInt<value_size>::MultiplySubtract(uint_ & u_, unsigned int & u3, unsigned int & q, uint_ v_)
993
- {
994
- uint_ temp_;
995
-
996
- uint res_high;
997
- uint res_low;
998
-
999
- MulTwoWords(v_.u, q, &res_high, &res_low);
1000
-
1001
- uint_ sub_res_high_;
1002
- uint_ sub_res_low_;
1003
-
1004
- temp_.u_.high = u_.u_.low;
1005
- temp_.u_.low = u3;
1006
-
1007
- uint c = SubTwoWords(temp_.u, res_low, 0, &sub_res_low_.u);
1008
-
1009
- temp_.u_.high = 0;
1010
- temp_.u_.low = u_.u_.high;
1011
- c = SubTwoWords(temp_.u, res_high, c, &sub_res_high_.u);
1012
-
1013
- if( c )
1014
- {
1015
- --q;
1016
-
1017
- c = AddTwoWords(sub_res_low_.u, v_.u, 0, &sub_res_low_.u);
1018
- AddTwoWords(sub_res_high_.u, 0, c, &sub_res_high_.u);
1019
- }
1020
-
1021
- u_.u_.high = sub_res_high_.u_.low;
1022
- u_.u_.low = sub_res_low_.u_.high;
1023
- u3 = sub_res_low_.u_.low;
1024
- }
1025
-
1026
- #endif // #ifdef TTMATH_PLATFORM64
1027
-
1028
-
1029
-
1030
- } //namespace
1031
-
1032
-
1033
- #endif //ifdef TTMATH_NOASM
1034
- #endif
1035
-
1036
-
1037
-
1038
-