@ladybugmem/icebug 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/binding.gyp +32 -10
  2. package/lib/index.js +23 -11
  3. package/package.json +9 -15
  4. package/prebuilds/darwin-arm64/icebug.node +0 -0
  5. package/{vendor/lib → prebuilds/darwin-arm64}/libnetworkit.dylib +0 -0
  6. package/prebuilds/linux-x64/icebug.node +0 -0
  7. package/prebuilds/linux-x64/libnetworkit.so +0 -0
  8. package/scripts/download-icebug.sh +92 -0
  9. package/build/Release/.deps/Release/icebug.node.d +0 -1
  10. package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +0 -291
  11. package/build/Release/icebug.node +0 -0
  12. package/build/Release/obj.target/icebug/src/addon.o +0 -0
  13. package/vendor/include/networkit/GlobalState.hpp +0 -86
  14. package/vendor/include/networkit/Globals.hpp +0 -41
  15. package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +0 -27
  16. package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +0 -1292
  17. package/vendor/include/networkit/algebraic/CSRMatrix.hpp +0 -11
  18. package/vendor/include/networkit/algebraic/DenseMatrix.hpp +0 -537
  19. package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +0 -514
  20. package/vendor/include/networkit/algebraic/GraphBLAS.hpp +0 -323
  21. package/vendor/include/networkit/algebraic/MatrixTools.hpp +0 -156
  22. package/vendor/include/networkit/algebraic/Semirings.hpp +0 -171
  23. package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +0 -111
  24. package/vendor/include/networkit/algebraic/Vector.hpp +0 -371
  25. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +0 -72
  26. package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +0 -88
  27. package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +0 -96
  28. package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +0 -145
  29. package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +0 -122
  30. package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +0 -76
  31. package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +0 -113
  32. package/vendor/include/networkit/auxiliary/ArrayTools.hpp +0 -85
  33. package/vendor/include/networkit/auxiliary/BloomFilter.hpp +0 -70
  34. package/vendor/include/networkit/auxiliary/BucketPQ.hpp +0 -142
  35. package/vendor/include/networkit/auxiliary/Enforce.hpp +0 -117
  36. package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +0 -74
  37. package/vendor/include/networkit/auxiliary/HashUtils.hpp +0 -28
  38. package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +0 -52
  39. package/vendor/include/networkit/auxiliary/Log.hpp +0 -119
  40. package/vendor/include/networkit/auxiliary/MissingMath.hpp +0 -48
  41. package/vendor/include/networkit/auxiliary/Multiprecision.hpp +0 -17
  42. package/vendor/include/networkit/auxiliary/NumberParsing.hpp +0 -307
  43. package/vendor/include/networkit/auxiliary/NumericTools.hpp +0 -57
  44. package/vendor/include/networkit/auxiliary/Parallel.hpp +0 -56
  45. package/vendor/include/networkit/auxiliary/Parallelism.hpp +0 -33
  46. package/vendor/include/networkit/auxiliary/PrioQueue.hpp +0 -252
  47. package/vendor/include/networkit/auxiliary/Random.hpp +0 -122
  48. package/vendor/include/networkit/auxiliary/SetIntersector.hpp +0 -72
  49. package/vendor/include/networkit/auxiliary/SignalHandling.hpp +0 -39
  50. package/vendor/include/networkit/auxiliary/SortedList.hpp +0 -128
  51. package/vendor/include/networkit/auxiliary/SparseVector.hpp +0 -215
  52. package/vendor/include/networkit/auxiliary/SpinLock.hpp +0 -23
  53. package/vendor/include/networkit/auxiliary/StringBuilder.hpp +0 -322
  54. package/vendor/include/networkit/auxiliary/StringTools.hpp +0 -76
  55. package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +0 -76
  56. package/vendor/include/networkit/auxiliary/Timer.hpp +0 -145
  57. package/vendor/include/networkit/auxiliary/VectorComparator.hpp +0 -32
  58. package/vendor/include/networkit/base/Algorithm.hpp +0 -41
  59. package/vendor/include/networkit/base/DynAlgorithm.hpp +0 -31
  60. package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +0 -62
  61. package/vendor/include/networkit/centrality/ApproxCloseness.hpp +0 -136
  62. package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +0 -156
  63. package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +0 -124
  64. package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +0 -84
  65. package/vendor/include/networkit/centrality/Betweenness.hpp +0 -47
  66. package/vendor/include/networkit/centrality/Centrality.hpp +0 -98
  67. package/vendor/include/networkit/centrality/Closeness.hpp +0 -107
  68. package/vendor/include/networkit/centrality/ComplexPaths.hpp +0 -113
  69. package/vendor/include/networkit/centrality/CoreDecomposition.hpp +0 -161
  70. package/vendor/include/networkit/centrality/DegreeCentrality.hpp +0 -55
  71. package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +0 -95
  72. package/vendor/include/networkit/centrality/DynBetweenness.hpp +0 -99
  73. package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +0 -98
  74. package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +0 -115
  75. package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +0 -223
  76. package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +0 -41
  77. package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +0 -51
  78. package/vendor/include/networkit/centrality/ForestCentrality.hpp +0 -112
  79. package/vendor/include/networkit/centrality/GedWalk.hpp +0 -225
  80. package/vendor/include/networkit/centrality/GroupCloseness.hpp +0 -115
  81. package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +0 -78
  82. package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +0 -77
  83. package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +0 -106
  84. package/vendor/include/networkit/centrality/GroupDegree.hpp +0 -155
  85. package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +0 -83
  86. package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +0 -48
  87. package/vendor/include/networkit/centrality/KPathCentrality.hpp +0 -52
  88. package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +0 -242
  89. package/vendor/include/networkit/centrality/KatzCentrality.hpp +0 -62
  90. package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +0 -44
  91. package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +0 -60
  92. package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +0 -43
  93. package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +0 -42
  94. package/vendor/include/networkit/centrality/PageRank.hpp +0 -101
  95. package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +0 -48
  96. package/vendor/include/networkit/centrality/Sfigality.hpp +0 -45
  97. package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +0 -86
  98. package/vendor/include/networkit/centrality/TopCloseness.hpp +0 -136
  99. package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +0 -151
  100. package/vendor/include/networkit/clique/MaximalCliques.hpp +0 -83
  101. package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +0 -59
  102. package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +0 -156
  103. package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +0 -57
  104. package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +0 -43
  105. package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +0 -33
  106. package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +0 -62
  107. package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +0 -31
  108. package/vendor/include/networkit/community/ClusteringGenerator.hpp +0 -75
  109. package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +0 -58
  110. package/vendor/include/networkit/community/Conductance.hpp +0 -32
  111. package/vendor/include/networkit/community/CoverF1Similarity.hpp +0 -53
  112. package/vendor/include/networkit/community/CoverHubDominance.hpp +0 -38
  113. package/vendor/include/networkit/community/Coverage.hpp +0 -25
  114. package/vendor/include/networkit/community/CutClustering.hpp +0 -62
  115. package/vendor/include/networkit/community/DissimilarityMeasure.hpp +0 -31
  116. package/vendor/include/networkit/community/DynamicNMIDistance.hpp +0 -44
  117. package/vendor/include/networkit/community/EdgeCut.hpp +0 -24
  118. package/vendor/include/networkit/community/GraphClusteringTools.hpp +0 -103
  119. package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +0 -28
  120. package/vendor/include/networkit/community/HubDominance.hpp +0 -46
  121. package/vendor/include/networkit/community/IntrapartitionDensity.hpp +0 -44
  122. package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +0 -40
  123. package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +0 -40
  124. package/vendor/include/networkit/community/JaccardMeasure.hpp +0 -25
  125. package/vendor/include/networkit/community/LFM.hpp +0 -49
  126. package/vendor/include/networkit/community/LPDegreeOrdered.hpp +0 -48
  127. package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +0 -100
  128. package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +0 -31
  129. package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +0 -31
  130. package/vendor/include/networkit/community/LouvainMapEquation.hpp +0 -135
  131. package/vendor/include/networkit/community/Modularity.hpp +0 -54
  132. package/vendor/include/networkit/community/NMIDistance.hpp +0 -28
  133. package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +0 -27
  134. package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +0 -51
  135. package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +0 -175
  136. package/vendor/include/networkit/community/PLM.hpp +0 -89
  137. package/vendor/include/networkit/community/PLP.hpp +0 -83
  138. package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +0 -37
  139. package/vendor/include/networkit/community/ParallelLeiden.hpp +0 -96
  140. package/vendor/include/networkit/community/ParallelLeidenView.hpp +0 -138
  141. package/vendor/include/networkit/community/PartitionFragmentation.hpp +0 -30
  142. package/vendor/include/networkit/community/PartitionHubDominance.hpp +0 -37
  143. package/vendor/include/networkit/community/PartitionIntersection.hpp +0 -25
  144. package/vendor/include/networkit/community/QualityMeasure.hpp +0 -27
  145. package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +0 -40
  146. package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +0 -40
  147. package/vendor/include/networkit/community/StablePartitionNodes.hpp +0 -48
  148. package/vendor/include/networkit/components/BiconnectedComponents.hpp +0 -116
  149. package/vendor/include/networkit/components/ComponentDecomposition.hpp +0 -72
  150. package/vendor/include/networkit/components/ConnectedComponents.hpp +0 -55
  151. package/vendor/include/networkit/components/DynConnectedComponents.hpp +0 -71
  152. package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +0 -73
  153. package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +0 -44
  154. package/vendor/include/networkit/components/RandomSpanningForest.hpp +0 -36
  155. package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +0 -50
  156. package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +0 -59
  157. package/vendor/include/networkit/correlation/Assortativity.hpp +0 -64
  158. package/vendor/include/networkit/distance/APSP.hpp +0 -70
  159. package/vendor/include/networkit/distance/AStar.hpp +0 -68
  160. package/vendor/include/networkit/distance/AStarGeneral.hpp +0 -110
  161. package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +0 -52
  162. package/vendor/include/networkit/distance/AffectedNodes.hpp +0 -130
  163. package/vendor/include/networkit/distance/AlgebraicDistance.hpp +0 -63
  164. package/vendor/include/networkit/distance/BFS.hpp +0 -43
  165. package/vendor/include/networkit/distance/BidirectionalBFS.hpp +0 -51
  166. package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +0 -69
  167. package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +0 -89
  168. package/vendor/include/networkit/distance/Diameter.hpp +0 -97
  169. package/vendor/include/networkit/distance/Dijkstra.hpp +0 -50
  170. package/vendor/include/networkit/distance/DynAPSP.hpp +0 -67
  171. package/vendor/include/networkit/distance/DynBFS.hpp +0 -56
  172. package/vendor/include/networkit/distance/DynDijkstra.hpp +0 -57
  173. package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +0 -67
  174. package/vendor/include/networkit/distance/DynSSSP.hpp +0 -87
  175. package/vendor/include/networkit/distance/Eccentricity.hpp +0 -32
  176. package/vendor/include/networkit/distance/EffectiveDiameter.hpp +0 -47
  177. package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +0 -57
  178. package/vendor/include/networkit/distance/FloydWarshall.hpp +0 -93
  179. package/vendor/include/networkit/distance/GraphDistance.hpp +0 -49
  180. package/vendor/include/networkit/distance/HopPlotApproximation.hpp +0 -62
  181. package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +0 -66
  182. package/vendor/include/networkit/distance/IncompleteSSSP.hpp +0 -41
  183. package/vendor/include/networkit/distance/JaccardDistance.hpp +0 -57
  184. package/vendor/include/networkit/distance/MultiTargetBFS.hpp +0 -32
  185. package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +0 -40
  186. package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +0 -47
  187. package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +0 -56
  188. package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +0 -56
  189. package/vendor/include/networkit/distance/NodeDistance.hpp +0 -54
  190. package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +0 -76
  191. package/vendor/include/networkit/distance/ReverseBFS.hpp +0 -46
  192. package/vendor/include/networkit/distance/SPSP.hpp +0 -143
  193. package/vendor/include/networkit/distance/SSSP.hpp +0 -216
  194. package/vendor/include/networkit/distance/STSP.hpp +0 -193
  195. package/vendor/include/networkit/distance/Volume.hpp +0 -66
  196. package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +0 -40
  197. package/vendor/include/networkit/dynamics/DGSWriter.hpp +0 -30
  198. package/vendor/include/networkit/dynamics/GraphDifference.hpp +0 -110
  199. package/vendor/include/networkit/dynamics/GraphEvent.hpp +0 -55
  200. package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +0 -39
  201. package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +0 -55
  202. package/vendor/include/networkit/dynamics/GraphUpdater.hpp +0 -38
  203. package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +0 -26
  204. package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +0 -33
  205. package/vendor/include/networkit/edgescores/EdgeScore.hpp +0 -50
  206. package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +0 -33
  207. package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +0 -33
  208. package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +0 -32
  209. package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +0 -35
  210. package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +0 -29
  211. package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +0 -23
  212. package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +0 -39
  213. package/vendor/include/networkit/embedding/Node2Vec.hpp +0 -83
  214. package/vendor/include/networkit/flow/EdmondsKarp.hpp +0 -112
  215. package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +0 -87
  216. package/vendor/include/networkit/generators/ChungLuGenerator.hpp +0 -46
  217. package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +0 -63
  218. package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +0 -56
  219. package/vendor/include/networkit/generators/ConfigurationModel.hpp +0 -36
  220. package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +0 -33
  221. package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +0 -33
  222. package/vendor/include/networkit/generators/DynamicDGSParser.hpp +0 -51
  223. package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +0 -34
  224. package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +0 -55
  225. package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +0 -40
  226. package/vendor/include/networkit/generators/DynamicGraphSource.hpp +0 -79
  227. package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +0 -143
  228. package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +0 -26
  229. package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +0 -54
  230. package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +0 -65
  231. package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +0 -318
  232. package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +0 -56
  233. package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +0 -48
  234. package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +0 -236
  235. package/vendor/include/networkit/generators/LFRGenerator.hpp +0 -175
  236. package/vendor/include/networkit/generators/MocnikGenerator.hpp +0 -147
  237. package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +0 -58
  238. package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +0 -128
  239. package/vendor/include/networkit/generators/PubWebGenerator.hpp +0 -94
  240. package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +0 -37
  241. package/vendor/include/networkit/generators/RmatGenerator.hpp +0 -67
  242. package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +0 -42
  243. package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +0 -30
  244. package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +0 -41
  245. package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +0 -43
  246. package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +0 -857
  247. package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +0 -587
  248. package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +0 -726
  249. package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +0 -232
  250. package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +0 -149
  251. package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +0 -143
  252. package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +0 -248
  253. package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +0 -145
  254. package/vendor/include/networkit/global/ClusteringCoefficient.hpp +0 -42
  255. package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +0 -24
  256. package/vendor/include/networkit/graph/Attributes.hpp +0 -568
  257. package/vendor/include/networkit/graph/BFS.hpp +0 -111
  258. package/vendor/include/networkit/graph/DFS.hpp +0 -71
  259. package/vendor/include/networkit/graph/Dijkstra.hpp +0 -83
  260. package/vendor/include/networkit/graph/EdgeIterators.hpp +0 -171
  261. package/vendor/include/networkit/graph/Graph.hpp +0 -2083
  262. package/vendor/include/networkit/graph/GraphBuilder.hpp +0 -289
  263. package/vendor/include/networkit/graph/GraphR.hpp +0 -133
  264. package/vendor/include/networkit/graph/GraphTools.hpp +0 -589
  265. package/vendor/include/networkit/graph/GraphW.hpp +0 -1236
  266. package/vendor/include/networkit/graph/KruskalMSF.hpp +0 -50
  267. package/vendor/include/networkit/graph/NeighborIterators.hpp +0 -163
  268. package/vendor/include/networkit/graph/NodeIterators.hpp +0 -127
  269. package/vendor/include/networkit/graph/PrimMSF.hpp +0 -66
  270. package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +0 -133
  271. package/vendor/include/networkit/graph/SpanningForest.hpp +0 -41
  272. package/vendor/include/networkit/graph/TopologicalSort.hpp +0 -87
  273. package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +0 -126
  274. package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +0 -68
  275. package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +0 -44
  276. package/vendor/include/networkit/independentset/Luby.hpp +0 -27
  277. package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +0 -45
  278. package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +0 -47
  279. package/vendor/include/networkit/io/BinaryPartitionReader.hpp +0 -41
  280. package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +0 -44
  281. package/vendor/include/networkit/io/CoverReader.hpp +0 -27
  282. package/vendor/include/networkit/io/CoverWriter.hpp +0 -21
  283. package/vendor/include/networkit/io/DGSReader.hpp +0 -39
  284. package/vendor/include/networkit/io/DibapGraphReader.hpp +0 -43
  285. package/vendor/include/networkit/io/DotGraphWriter.hpp +0 -39
  286. package/vendor/include/networkit/io/DotPartitionWriter.hpp +0 -23
  287. package/vendor/include/networkit/io/DynamicGraphReader.hpp +0 -29
  288. package/vendor/include/networkit/io/EdgeListCoverReader.hpp +0 -35
  289. package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +0 -43
  290. package/vendor/include/networkit/io/EdgeListReader.hpp +0 -61
  291. package/vendor/include/networkit/io/EdgeListWriter.hpp +0 -48
  292. package/vendor/include/networkit/io/GMLGraphReader.hpp +0 -33
  293. package/vendor/include/networkit/io/GMLGraphWriter.hpp +0 -33
  294. package/vendor/include/networkit/io/GraphIO.hpp +0 -52
  295. package/vendor/include/networkit/io/GraphReader.hpp +0 -40
  296. package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +0 -71
  297. package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +0 -61
  298. package/vendor/include/networkit/io/GraphWriter.hpp +0 -27
  299. package/vendor/include/networkit/io/KONECTGraphReader.hpp +0 -44
  300. package/vendor/include/networkit/io/LineFileReader.hpp +0 -42
  301. package/vendor/include/networkit/io/METISGraphReader.hpp +0 -36
  302. package/vendor/include/networkit/io/METISGraphWriter.hpp +0 -29
  303. package/vendor/include/networkit/io/METISParser.hpp +0 -63
  304. package/vendor/include/networkit/io/MTXGraphReader.hpp +0 -31
  305. package/vendor/include/networkit/io/MTXParser.hpp +0 -87
  306. package/vendor/include/networkit/io/MatrixMarketReader.hpp +0 -33
  307. package/vendor/include/networkit/io/MatrixReader.hpp +0 -33
  308. package/vendor/include/networkit/io/MemoryMappedFile.hpp +0 -80
  309. package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +0 -144
  310. package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +0 -50
  311. package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +0 -71
  312. package/vendor/include/networkit/io/PartitionReader.hpp +0 -34
  313. package/vendor/include/networkit/io/PartitionWriter.hpp +0 -31
  314. package/vendor/include/networkit/io/RBGraphReader.hpp +0 -37
  315. package/vendor/include/networkit/io/RBMatrixReader.hpp +0 -49
  316. package/vendor/include/networkit/io/RasterReader.hpp +0 -40
  317. package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +0 -28
  318. package/vendor/include/networkit/io/SNAPGraphReader.hpp +0 -53
  319. package/vendor/include/networkit/io/SNAPGraphWriter.hpp +0 -53
  320. package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +0 -44
  321. package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +0 -27
  322. package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +0 -39
  323. package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +0 -37
  324. package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +0 -36
  325. package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +0 -70
  326. package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +0 -39
  327. package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +0 -135
  328. package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +0 -44
  329. package/vendor/include/networkit/linkprediction/KatzIndex.hpp +0 -84
  330. package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +0 -98
  331. package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +0 -56
  332. package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +0 -60
  333. package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +0 -42
  334. package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +0 -54
  335. package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +0 -48
  336. package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +0 -40
  337. package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +0 -66
  338. package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +0 -37
  339. package/vendor/include/networkit/linkprediction/ROCMetric.hpp +0 -39
  340. package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +0 -47
  341. package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +0 -38
  342. package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +0 -50
  343. package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +0 -39
  344. package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +0 -35
  345. package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +0 -35
  346. package/vendor/include/networkit/matching/BMatcher.hpp +0 -52
  347. package/vendor/include/networkit/matching/BMatching.hpp +0 -115
  348. package/vendor/include/networkit/matching/BSuitorMatcher.hpp +0 -170
  349. package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +0 -78
  350. package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +0 -35
  351. package/vendor/include/networkit/matching/Matcher.hpp +0 -55
  352. package/vendor/include/networkit/matching/Matching.hpp +0 -111
  353. package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +0 -46
  354. package/vendor/include/networkit/matching/SuitorMatcher.hpp +0 -62
  355. package/vendor/include/networkit/numerics/ConjugateGradient.hpp +0 -163
  356. package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +0 -99
  357. package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +0 -70
  358. package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +0 -460
  359. package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +0 -47
  360. package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +0 -56
  361. package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +0 -52
  362. package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +0 -133
  363. package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +0 -28
  364. package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +0 -165
  365. package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +0 -1090
  366. package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +0 -316
  367. package/vendor/include/networkit/numerics/LinearSolver.hpp +0 -151
  368. package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +0 -61
  369. package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +0 -36
  370. package/vendor/include/networkit/numerics/Smoother.hpp +0 -37
  371. package/vendor/include/networkit/overlap/HashingOverlapper.hpp +0 -28
  372. package/vendor/include/networkit/overlap/Overlapper.hpp +0 -27
  373. package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +0 -113
  374. package/vendor/include/networkit/randomization/Curveball.hpp +0 -49
  375. package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +0 -39
  376. package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +0 -39
  377. package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +0 -82
  378. package/vendor/include/networkit/randomization/EdgeSwitching.hpp +0 -157
  379. package/vendor/include/networkit/randomization/GlobalCurveball.hpp +0 -69
  380. package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +0 -303
  381. package/vendor/include/networkit/reachability/AllSimplePaths.hpp +0 -122
  382. package/vendor/include/networkit/reachability/ReachableNodes.hpp +0 -83
  383. package/vendor/include/networkit/scd/ApproximatePageRank.hpp +0 -51
  384. package/vendor/include/networkit/scd/CliqueDetect.hpp +0 -55
  385. package/vendor/include/networkit/scd/CombinedSCD.hpp +0 -51
  386. package/vendor/include/networkit/scd/GCE.hpp +0 -42
  387. package/vendor/include/networkit/scd/LFMLocal.hpp +0 -54
  388. package/vendor/include/networkit/scd/LocalT.hpp +0 -40
  389. package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +0 -46
  390. package/vendor/include/networkit/scd/PageRankNibble.hpp +0 -55
  391. package/vendor/include/networkit/scd/RandomBFS.hpp +0 -33
  392. package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +0 -121
  393. package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +0 -76
  394. package/vendor/include/networkit/scd/SetConductance.hpp +0 -47
  395. package/vendor/include/networkit/scd/TCE.hpp +0 -41
  396. package/vendor/include/networkit/scd/TwoPhaseL.hpp +0 -40
  397. package/vendor/include/networkit/scoring/EdgeScoring.hpp +0 -44
  398. package/vendor/include/networkit/scoring/ModularityScoring.hpp +0 -79
  399. package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +0 -59
  400. package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +0 -28
  401. package/vendor/include/networkit/sparsification/ForestFireScore.hpp +0 -34
  402. package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +0 -40
  403. package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +0 -30
  404. package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +0 -124
  405. package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +0 -63
  406. package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +0 -38
  407. package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +0 -33
  408. package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +0 -29
  409. package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +0 -23
  410. package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +0 -35
  411. package/vendor/include/networkit/sparsification/SimmelianScore.hpp +0 -92
  412. package/vendor/include/networkit/sparsification/Sparsifiers.hpp +0 -166
  413. package/vendor/include/networkit/structures/Cover.hpp +0 -248
  414. package/vendor/include/networkit/structures/LocalCommunity.hpp +0 -363
  415. package/vendor/include/networkit/structures/Partition.hpp +0 -335
  416. package/vendor/include/networkit/structures/UnionFind.hpp +0 -66
  417. package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +0 -157
  418. package/vendor/include/networkit/viz/MaxentStress.hpp +0 -346
  419. package/vendor/include/networkit/viz/Octree.hpp +0 -428
  420. package/vendor/include/networkit/viz/PivotMDS.hpp +0 -63
  421. package/vendor/include/networkit/viz/Point.hpp +0 -415
  422. package/vendor/include/networkit/viz/PostscriptWriter.hpp +0 -78
  423. package/vendor/include/tlx/algorithm/exclusive_scan.hpp +0 -56
  424. package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +0 -56
  425. package/vendor/include/tlx/algorithm/merge_advance.hpp +0 -177
  426. package/vendor/include/tlx/algorithm/merge_combine.hpp +0 -76
  427. package/vendor/include/tlx/algorithm/multisequence_partition.hpp +0 -346
  428. package/vendor/include/tlx/algorithm/multisequence_selection.hpp +0 -351
  429. package/vendor/include/tlx/algorithm/multiway_merge.hpp +0 -1385
  430. package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +0 -257
  431. package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +0 -408
  432. package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +0 -116
  433. package/vendor/include/tlx/algorithm.hpp +0 -36
  434. package/vendor/include/tlx/allocator_base.hpp +0 -100
  435. package/vendor/include/tlx/backtrace.hpp +0 -54
  436. package/vendor/include/tlx/cmdline_parser.hpp +0 -498
  437. package/vendor/include/tlx/container/btree.hpp +0 -3977
  438. package/vendor/include/tlx/container/btree_map.hpp +0 -634
  439. package/vendor/include/tlx/container/btree_multimap.hpp +0 -627
  440. package/vendor/include/tlx/container/btree_multiset.hpp +0 -612
  441. package/vendor/include/tlx/container/btree_set.hpp +0 -612
  442. package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +0 -416
  443. package/vendor/include/tlx/container/d_ary_heap.hpp +0 -311
  444. package/vendor/include/tlx/container/loser_tree.hpp +0 -1009
  445. package/vendor/include/tlx/container/lru_cache.hpp +0 -319
  446. package/vendor/include/tlx/container/radix_heap.hpp +0 -735
  447. package/vendor/include/tlx/container/ring_buffer.hpp +0 -428
  448. package/vendor/include/tlx/container/simple_vector.hpp +0 -304
  449. package/vendor/include/tlx/container/splay_tree.hpp +0 -399
  450. package/vendor/include/tlx/container/string_view.hpp +0 -805
  451. package/vendor/include/tlx/container.hpp +0 -40
  452. package/vendor/include/tlx/counting_ptr.hpp +0 -522
  453. package/vendor/include/tlx/define/attribute_always_inline.hpp +0 -34
  454. package/vendor/include/tlx/define/attribute_fallthrough.hpp +0 -36
  455. package/vendor/include/tlx/define/attribute_format_printf.hpp +0 -34
  456. package/vendor/include/tlx/define/attribute_packed.hpp +0 -34
  457. package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +0 -34
  458. package/vendor/include/tlx/define/constexpr.hpp +0 -31
  459. package/vendor/include/tlx/define/deprecated.hpp +0 -39
  460. package/vendor/include/tlx/define/endian.hpp +0 -49
  461. package/vendor/include/tlx/define/likely.hpp +0 -33
  462. package/vendor/include/tlx/define/visibility_hidden.hpp +0 -34
  463. package/vendor/include/tlx/define.hpp +0 -36
  464. package/vendor/include/tlx/delegate.hpp +0 -524
  465. package/vendor/include/tlx/die/core.hpp +0 -311
  466. package/vendor/include/tlx/die.hpp +0 -106
  467. package/vendor/include/tlx/digest/md5.hpp +0 -81
  468. package/vendor/include/tlx/digest/sha1.hpp +0 -81
  469. package/vendor/include/tlx/digest/sha256.hpp +0 -81
  470. package/vendor/include/tlx/digest/sha512.hpp +0 -81
  471. package/vendor/include/tlx/digest.hpp +0 -30
  472. package/vendor/include/tlx/logger/all.hpp +0 -33
  473. package/vendor/include/tlx/logger/array.hpp +0 -43
  474. package/vendor/include/tlx/logger/core.hpp +0 -287
  475. package/vendor/include/tlx/logger/deque.hpp +0 -42
  476. package/vendor/include/tlx/logger/map.hpp +0 -65
  477. package/vendor/include/tlx/logger/set.hpp +0 -60
  478. package/vendor/include/tlx/logger/tuple.hpp +0 -66
  479. package/vendor/include/tlx/logger/unordered_map.hpp +0 -68
  480. package/vendor/include/tlx/logger/unordered_set.hpp +0 -64
  481. package/vendor/include/tlx/logger/wrap_unprintable.hpp +0 -75
  482. package/vendor/include/tlx/logger.hpp +0 -44
  483. package/vendor/include/tlx/math/abs_diff.hpp +0 -35
  484. package/vendor/include/tlx/math/aggregate.hpp +0 -231
  485. package/vendor/include/tlx/math/aggregate_min_max.hpp +0 -116
  486. package/vendor/include/tlx/math/bswap.hpp +0 -148
  487. package/vendor/include/tlx/math/bswap_be.hpp +0 -79
  488. package/vendor/include/tlx/math/bswap_le.hpp +0 -79
  489. package/vendor/include/tlx/math/clz.hpp +0 -174
  490. package/vendor/include/tlx/math/ctz.hpp +0 -174
  491. package/vendor/include/tlx/math/div_ceil.hpp +0 -36
  492. package/vendor/include/tlx/math/ffs.hpp +0 -123
  493. package/vendor/include/tlx/math/integer_log2.hpp +0 -189
  494. package/vendor/include/tlx/math/is_power_of_two.hpp +0 -74
  495. package/vendor/include/tlx/math/polynomial_regression.hpp +0 -243
  496. package/vendor/include/tlx/math/popcount.hpp +0 -173
  497. package/vendor/include/tlx/math/power_to_the.hpp +0 -44
  498. package/vendor/include/tlx/math/rol.hpp +0 -112
  499. package/vendor/include/tlx/math/ror.hpp +0 -112
  500. package/vendor/include/tlx/math/round_to_power_of_two.hpp +0 -121
  501. package/vendor/include/tlx/math/round_up.hpp +0 -36
  502. package/vendor/include/tlx/math/sgn.hpp +0 -38
  503. package/vendor/include/tlx/math.hpp +0 -46
  504. package/vendor/include/tlx/meta/apply_tuple.hpp +0 -55
  505. package/vendor/include/tlx/meta/call_for_range.hpp +0 -78
  506. package/vendor/include/tlx/meta/call_foreach.hpp +0 -60
  507. package/vendor/include/tlx/meta/call_foreach_tuple.hpp +0 -60
  508. package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +0 -61
  509. package/vendor/include/tlx/meta/call_foreach_with_index.hpp +0 -64
  510. package/vendor/include/tlx/meta/enable_if.hpp +0 -37
  511. package/vendor/include/tlx/meta/fold_left.hpp +0 -63
  512. package/vendor/include/tlx/meta/fold_left_tuple.hpp +0 -60
  513. package/vendor/include/tlx/meta/fold_right.hpp +0 -63
  514. package/vendor/include/tlx/meta/fold_right_tuple.hpp +0 -60
  515. package/vendor/include/tlx/meta/function_chain.hpp +0 -197
  516. package/vendor/include/tlx/meta/function_stack.hpp +0 -189
  517. package/vendor/include/tlx/meta/has_member.hpp +0 -80
  518. package/vendor/include/tlx/meta/has_method.hpp +0 -117
  519. package/vendor/include/tlx/meta/index_sequence.hpp +0 -66
  520. package/vendor/include/tlx/meta/is_std_array.hpp +0 -40
  521. package/vendor/include/tlx/meta/is_std_pair.hpp +0 -39
  522. package/vendor/include/tlx/meta/is_std_tuple.hpp +0 -39
  523. package/vendor/include/tlx/meta/is_std_vector.hpp +0 -39
  524. package/vendor/include/tlx/meta/log2.hpp +0 -101
  525. package/vendor/include/tlx/meta/no_operation.hpp +0 -55
  526. package/vendor/include/tlx/meta/static_index.hpp +0 -42
  527. package/vendor/include/tlx/meta/vexpand.hpp +0 -34
  528. package/vendor/include/tlx/meta/vmap_for_range.hpp +0 -84
  529. package/vendor/include/tlx/meta/vmap_foreach.hpp +0 -63
  530. package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +0 -59
  531. package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +0 -62
  532. package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +0 -70
  533. package/vendor/include/tlx/meta.hpp +0 -55
  534. package/vendor/include/tlx/multi_timer.hpp +0 -148
  535. package/vendor/include/tlx/port/setenv.hpp +0 -31
  536. package/vendor/include/tlx/port.hpp +0 -27
  537. package/vendor/include/tlx/semaphore.hpp +0 -119
  538. package/vendor/include/tlx/simple_vector.hpp +0 -20
  539. package/vendor/include/tlx/siphash.hpp +0 -282
  540. package/vendor/include/tlx/sort/networks/best.hpp +0 -611
  541. package/vendor/include/tlx/sort/networks/bose_nelson.hpp +0 -412
  542. package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +0 -507
  543. package/vendor/include/tlx/sort/networks/cswap.hpp +0 -60
  544. package/vendor/include/tlx/sort/parallel_mergesort.hpp +0 -398
  545. package/vendor/include/tlx/sort/strings/insertion_sort.hpp +0 -232
  546. package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +0 -185
  547. package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +0 -1647
  548. package/vendor/include/tlx/sort/strings/radix_sort.hpp +0 -934
  549. package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +0 -756
  550. package/vendor/include/tlx/sort/strings/string_ptr.hpp +0 -426
  551. package/vendor/include/tlx/sort/strings/string_set.hpp +0 -800
  552. package/vendor/include/tlx/sort/strings.hpp +0 -329
  553. package/vendor/include/tlx/sort/strings_parallel.hpp +0 -325
  554. package/vendor/include/tlx/sort.hpp +0 -29
  555. package/vendor/include/tlx/stack_allocator.hpp +0 -226
  556. package/vendor/include/tlx/string/appendline.hpp +0 -35
  557. package/vendor/include/tlx/string/base64.hpp +0 -87
  558. package/vendor/include/tlx/string/bitdump.hpp +0 -139
  559. package/vendor/include/tlx/string/compare_icase.hpp +0 -42
  560. package/vendor/include/tlx/string/contains.hpp +0 -36
  561. package/vendor/include/tlx/string/contains_word.hpp +0 -42
  562. package/vendor/include/tlx/string/ends_with.hpp +0 -79
  563. package/vendor/include/tlx/string/equal_icase.hpp +0 -42
  564. package/vendor/include/tlx/string/erase_all.hpp +0 -70
  565. package/vendor/include/tlx/string/escape_html.hpp +0 -34
  566. package/vendor/include/tlx/string/escape_uri.hpp +0 -34
  567. package/vendor/include/tlx/string/expand_environment_variables.hpp +0 -49
  568. package/vendor/include/tlx/string/extract_between.hpp +0 -40
  569. package/vendor/include/tlx/string/format_iec_units.hpp +0 -32
  570. package/vendor/include/tlx/string/format_si_iec_units.hpp +0 -19
  571. package/vendor/include/tlx/string/format_si_units.hpp +0 -32
  572. package/vendor/include/tlx/string/hash_djb2.hpp +0 -87
  573. package/vendor/include/tlx/string/hash_sdbm.hpp +0 -86
  574. package/vendor/include/tlx/string/hexdump.hpp +0 -154
  575. package/vendor/include/tlx/string/index_of.hpp +0 -56
  576. package/vendor/include/tlx/string/join.hpp +0 -65
  577. package/vendor/include/tlx/string/join_generic.hpp +0 -89
  578. package/vendor/include/tlx/string/join_quoted.hpp +0 -46
  579. package/vendor/include/tlx/string/less_icase.hpp +0 -64
  580. package/vendor/include/tlx/string/levenshtein.hpp +0 -193
  581. package/vendor/include/tlx/string/pad.hpp +0 -39
  582. package/vendor/include/tlx/string/parse_si_iec_units.hpp +0 -46
  583. package/vendor/include/tlx/string/parse_uri.hpp +0 -66
  584. package/vendor/include/tlx/string/parse_uri_form_data.hpp +0 -136
  585. package/vendor/include/tlx/string/replace.hpp +0 -141
  586. package/vendor/include/tlx/string/split.hpp +0 -170
  587. package/vendor/include/tlx/string/split_quoted.hpp +0 -49
  588. package/vendor/include/tlx/string/split_view.hpp +0 -218
  589. package/vendor/include/tlx/string/split_words.hpp +0 -53
  590. package/vendor/include/tlx/string/ssprintf.hpp +0 -45
  591. package/vendor/include/tlx/string/ssprintf_generic.hpp +0 -95
  592. package/vendor/include/tlx/string/starts_with.hpp +0 -44
  593. package/vendor/include/tlx/string/to_lower.hpp +0 -47
  594. package/vendor/include/tlx/string/to_upper.hpp +0 -47
  595. package/vendor/include/tlx/string/trim.hpp +0 -298
  596. package/vendor/include/tlx/string/union_words.hpp +0 -33
  597. package/vendor/include/tlx/string/word_wrap.hpp +0 -35
  598. package/vendor/include/tlx/string.hpp +0 -68
  599. package/vendor/include/tlx/thread_barrier_mutex.hpp +0 -109
  600. package/vendor/include/tlx/thread_barrier_spin.hpp +0 -127
  601. package/vendor/include/tlx/thread_pool.hpp +0 -151
  602. package/vendor/include/tlx/timestamp.hpp +0 -23
  603. package/vendor/include/tlx/unused.hpp +0 -28
  604. package/vendor/include/tlx/vector_free.hpp +0 -30
  605. package/vendor/include/tlx/version.hpp +0 -49
  606. package/vendor/include/ttmath/ttmath.h +0 -2881
  607. package/vendor/include/ttmath/ttmathbig.h +0 -6111
  608. package/vendor/include/ttmath/ttmathdec.h +0 -419
  609. package/vendor/include/ttmath/ttmathint.h +0 -1923
  610. package/vendor/include/ttmath/ttmathmisc.h +0 -250
  611. package/vendor/include/ttmath/ttmathobjects.h +0 -812
  612. package/vendor/include/ttmath/ttmathparser.h +0 -2791
  613. package/vendor/include/ttmath/ttmaththreads.h +0 -252
  614. package/vendor/include/ttmath/ttmathtypes.h +0 -707
  615. package/vendor/include/ttmath/ttmathuint.h +0 -4190
  616. package/vendor/include/ttmath/ttmathuint_noasm.h +0 -1038
  617. package/vendor/include/ttmath/ttmathuint_x86.h +0 -1620
  618. package/vendor/include/ttmath/ttmathuint_x86_64.h +0 -1177
  619. package/vendor/lib/cmake/tlx/tlx-config.cmake +0 -51
  620. package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +0 -19
  621. package/vendor/lib/cmake/tlx/tlx-targets.cmake +0 -106
  622. package/vendor/lib/cmake/tlx/tlx-version.cmake +0 -11
  623. package/vendor/lib/libtlx.a +0 -0
  624. package/vendor/lib/pkgconfig/networkit.pc +0 -11
  625. package/vendor/lib/pkgconfig/tlx.pc +0 -11
@@ -1,1177 +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
-
39
- #ifndef headerfilettmathuint_x86_64
40
- #define headerfilettmathuint_x86_64
41
-
42
-
43
- #ifndef TTMATH_NOASM
44
- #ifdef TTMATH_PLATFORM64
45
-
46
-
47
- /*!
48
- \file ttmathuint_x86_64.h
49
- \brief template class UInt<uint> with assembler code for 64bit x86_64 processors
50
-
51
- this file is included at the end of ttmathuint.h
52
- */
53
-
54
-
55
- /*!
56
- \file ttmathuint_x86_64_msvc.asm
57
- \brief some asm routines for x86_64 when using Microsoft compiler
58
-
59
- this file should be first compiled:
60
- - compile with debug info: ml64.exe /c /Zd /Zi ttmathuint_x86_64_msvc.asm
61
- - compile without debug info: ml64.exe /c ttmathuint_x86_64_msvc.asm
62
-
63
- this creates ttmathuint_x86_64_msvc.obj file which can be linked with your program
64
-
65
- (you can use win64_assemble.bat file from ttmath subdirectory)
66
- */
67
-
68
-
69
- #ifndef __GNUC__
70
- #include <intrin.h>
71
- #endif
72
-
73
-
74
- namespace ttmath
75
- {
76
-
77
- #ifndef __GNUC__
78
-
79
- extern "C"
80
- {
81
- uint __fastcall ttmath_adc_x64(uint* p1, const uint* p2, uint nSize, uint c);
82
- uint __fastcall ttmath_addindexed_x64(uint* p1, uint nSize, uint nPos, uint nValue);
83
- uint __fastcall ttmath_addindexed2_x64(uint* p1, uint nSize, uint nPos, uint nValue1, uint nValue2);
84
- uint __fastcall ttmath_addvector_x64(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result);
85
- uint __fastcall ttmath_sbb_x64(uint* p1, const uint* p2, uint nSize, uint c);
86
- uint __fastcall ttmath_subindexed_x64(uint* p1, uint nSize, uint nPos, uint nValue);
87
- uint __fastcall ttmath_subvector_x64(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result);
88
- uint __fastcall ttmath_rcl_x64(uint* p1, uint nSize, uint nLowestBit);
89
- uint __fastcall ttmath_rcr_x64(uint* p1, uint nSize, uint nLowestBit);
90
- uint __fastcall ttmath_div_x64(uint* pnValHi, uint* pnValLo, uint nDiv);
91
- uint __fastcall ttmath_rcl2_x64(uint* p1, uint nSize, uint nBits, uint c);
92
- uint __fastcall ttmath_rcr2_x64(uint* p1, uint nSize, uint nBits, uint c);
93
- };
94
- #endif
95
-
96
-
97
- /*!
98
- returning the string represents the currect type of the library
99
- we have following types:
100
- asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits)
101
- asm_gcc_32 - with asm code designed for GCC (32 bits)
102
- asm_vc_64 - with asm for VC (64 bit)
103
- asm_gcc_64 - with asm for GCC (64 bit)
104
- no_asm_32 - pure C++ version (32 bit) - without any asm code
105
- no_asm_64 - pure C++ version (64 bit) - without any asm code
106
- */
107
- template<uint value_size>
108
- const char * UInt<value_size>::LibTypeStr()
109
- {
110
- #ifndef __GNUC__
111
- static const char info[] = "asm_vc_64";
112
- #endif
113
-
114
- #ifdef __GNUC__
115
- static const char info[] = "asm_gcc_64";
116
- #endif
117
-
118
- return info;
119
- }
120
-
121
-
122
- /*!
123
- returning the currect type of the library
124
- */
125
- template<uint value_size>
126
- LibTypeCode UInt<value_size>::LibType()
127
- {
128
- #ifndef __GNUC__
129
- LibTypeCode info = asm_vc_64;
130
- #endif
131
-
132
- #ifdef __GNUC__
133
- LibTypeCode info = asm_gcc_64;
134
- #endif
135
-
136
- return info;
137
- }
138
-
139
-
140
- /*!
141
- *
142
- * basic mathematic functions
143
- *
144
- */
145
-
146
-
147
-
148
- /*!
149
- this method adding ss2 to the this and adding carry if it's defined
150
- (this = this + ss2 + c)
151
-
152
- ***this method is created only on a 64bit platform***
153
-
154
- c must be zero or one (might be a bigger value than 1)
155
- function returns carry (1) (if it was)
156
- */
157
- template<uint value_size>
158
- uint UInt<value_size>::Add(const UInt<value_size> & ss2, uint c)
159
- {
160
- uint b = value_size;
161
- uint * p1 = table;
162
- const uint * p2 = ss2.table;
163
-
164
- // we don't have to use TTMATH_REFERENCE_ASSERT here
165
- // this algorithm doesn't require it
166
-
167
- #ifndef __GNUC__
168
- c = ttmath_adc_x64(p1,p2,b,c);
169
- #endif
170
-
171
- #ifdef __GNUC__
172
- uint dummy, dummy2;
173
-
174
- /*
175
- this part should be compiled with gcc
176
- */
177
- __asm__ __volatile__(
178
-
179
- "xorq %%rdx, %%rdx \n"
180
- "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0
181
-
182
- "1: \n"
183
- "movq (%%rsi,%%rdx,8), %%rax \n"
184
- "adcq %%rax, (%%rbx,%%rdx,8) \n"
185
-
186
- "incq %%rdx \n"
187
- "decq %%rcx \n"
188
- "jnz 1b \n"
189
-
190
- "adcq %%rcx, %%rcx \n"
191
-
192
- : "=c" (c), "=a" (dummy), "=d" (dummy2)
193
- : "0" (b), "1" (c), "b" (p1), "S" (p2)
194
- : "cc", "memory" );
195
-
196
- #endif
197
-
198
- TTMATH_LOGC("UInt::Add", c)
199
-
200
- return c;
201
- }
202
-
203
-
204
-
205
- /*!
206
- this method adds one word (at a specific position)
207
- and returns a carry (if it was)
208
-
209
- ***this method is created only on a 64bit platform***
210
-
211
-
212
- if we've got (value_size=3):
213
-
214
- table[0] = 10;
215
- table[1] = 30;
216
- table[2] = 5;
217
-
218
- and we call:
219
-
220
- AddInt(2,1)
221
-
222
- then it'll be:
223
-
224
- table[0] = 10;
225
- table[1] = 30 + 2;
226
- table[2] = 5;
227
-
228
- of course if there was a carry from table[2] it would be returned
229
- */
230
- template<uint value_size>
231
- uint UInt<value_size>::AddInt(uint value, uint index)
232
- {
233
- uint b = value_size;
234
- uint * p1 = table;
235
- uint c;
236
-
237
- TTMATH_ASSERT( index < value_size )
238
-
239
- #ifndef __GNUC__
240
- c = ttmath_addindexed_x64(p1,b,index,value);
241
- #endif
242
-
243
-
244
- #ifdef __GNUC__
245
- uint dummy, dummy2;
246
-
247
- __asm__ __volatile__(
248
-
249
- "subq %%rdx, %%rcx \n"
250
-
251
- "1: \n"
252
- "addq %%rax, (%%rbx,%%rdx,8) \n"
253
- "jnc 2f \n"
254
-
255
- "movq $1, %%rax \n"
256
- "incq %%rdx \n"
257
- "decq %%rcx \n"
258
- "jnz 1b \n"
259
-
260
- "2: \n"
261
- "setc %%al \n"
262
- "movzx %%al, %%rdx \n"
263
-
264
- : "=d" (c), "=a" (dummy), "=c" (dummy2)
265
- : "0" (index), "1" (value), "2" (b), "b" (p1)
266
- : "cc", "memory" );
267
-
268
- #endif
269
-
270
- TTMATH_LOGC("UInt::AddInt", c)
271
-
272
- return c;
273
- }
274
-
275
-
276
-
277
- /*!
278
- this method adds only two unsigned words to the existing value
279
- and these words begin on the 'index' position
280
- (it's used in the multiplication algorithm 2)
281
-
282
- ***this method is created only on a 64bit platform***
283
-
284
- index should be equal or smaller than value_size-2 (index <= value_size-2)
285
- x1 - lower word, x2 - higher word
286
-
287
- for example if we've got value_size equal 4 and:
288
-
289
- table[0] = 3
290
- table[1] = 4
291
- table[2] = 5
292
- table[3] = 6
293
-
294
- then let
295
-
296
- x1 = 10
297
- x2 = 20
298
-
299
- and
300
-
301
- index = 1
302
-
303
- the result of this method will be:
304
-
305
- table[0] = 3
306
- table[1] = 4 + x1 = 14
307
- table[2] = 5 + x2 = 25
308
- table[3] = 6
309
-
310
- and no carry at the end of table[3]
311
-
312
- (of course if there was a carry in table[2](5+20) then
313
- this carry would be passed to the table[3] etc.)
314
- */
315
- template<uint value_size>
316
- uint UInt<value_size>::AddTwoInts(uint x2, uint x1, uint index)
317
- {
318
- uint b = value_size;
319
- uint * p1 = table;
320
- uint c;
321
-
322
- TTMATH_ASSERT( index < value_size - 1 )
323
-
324
- #ifndef __GNUC__
325
- c = ttmath_addindexed2_x64(p1,b,index,x1,x2);
326
- #endif
327
-
328
-
329
- #ifdef __GNUC__
330
- uint dummy, dummy2;
331
-
332
- __asm__ __volatile__(
333
-
334
- "subq %%rdx, %%rcx \n"
335
-
336
- "addq %%rsi, (%%rbx,%%rdx,8) \n"
337
- "incq %%rdx \n"
338
- "decq %%rcx \n"
339
-
340
- "1: \n"
341
- "adcq %%rax, (%%rbx,%%rdx,8) \n"
342
- "jnc 2f \n"
343
-
344
- "mov $0, %%rax \n"
345
- "incq %%rdx \n"
346
- "decq %%rcx \n"
347
- "jnz 1b \n"
348
-
349
- "2: \n"
350
- "setc %%al \n"
351
- "movzx %%al, %%rax \n"
352
-
353
- : "=a" (c), "=c" (dummy), "=d" (dummy2)
354
- : "0" (x2), "1" (b), "2" (index), "b" (p1), "S" (x1)
355
- : "cc", "memory" );
356
-
357
- #endif
358
-
359
- TTMATH_LOGC("UInt::AddTwoInts", c)
360
-
361
- return c;
362
- }
363
-
364
-
365
-
366
- /*!
367
- this static method addes one vector to the other
368
- 'ss1' is larger in size or equal to 'ss2'
369
-
370
- - ss1 points to the first (larger) vector
371
- - ss2 points to the second vector
372
- - ss1_size - size of the ss1 (and size of the result too)
373
- - ss2_size - size of the ss2
374
- - result - is the result vector (which has size the same as ss1: ss1_size)
375
-
376
- Example: ss1_size is 5, ss2_size is 3
377
- ss1: ss2: result (output):
378
- 5 1 5+1
379
- 4 3 4+3
380
- 2 7 2+7
381
- 6 6
382
- 9 9
383
- of course the carry is propagated and will be returned from the last item
384
- (this method is used by the Karatsuba multiplication algorithm)
385
- */
386
- template<uint value_size>
387
- uint UInt<value_size>::AddVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result)
388
- {
389
- TTMATH_ASSERT( ss1_size >= ss2_size )
390
-
391
- uint c;
392
-
393
- #ifndef __GNUC__
394
- c = ttmath_addvector_x64(ss1, ss2, ss1_size, ss2_size, result);
395
- #endif
396
-
397
-
398
- #ifdef __GNUC__
399
- uint dummy1, dummy2, dummy3;
400
- uint rest = ss1_size - ss2_size;
401
-
402
- // this part should be compiled with gcc
403
-
404
- __asm__ __volatile__(
405
- "mov %%rdx, %%r8 \n"
406
- "xor %%rdx, %%rdx \n" // rdx = 0, cf = 0
407
- "1: \n"
408
- "mov (%%rsi,%%rdx,8), %%rax \n"
409
- "adc (%%rbx,%%rdx,8), %%rax \n"
410
- "mov %%rax, (%%rdi,%%rdx,8) \n"
411
-
412
- "inc %%rdx \n"
413
- "dec %%rcx \n"
414
- "jnz 1b \n"
415
-
416
- "adc %%rcx, %%rcx \n" // rcx has the cf state
417
-
418
- "or %%r8, %%r8 \n"
419
- "jz 3f \n"
420
-
421
- "xor %%rbx, %%rbx \n" // ebx = 0
422
- "neg %%rcx \n" // setting cf from rcx
423
- "mov %%r8, %%rcx \n" // rcx=rest and is != 0
424
- "2: \n"
425
- "mov (%%rsi, %%rdx, 8), %%rax \n"
426
- "adc %%rbx, %%rax \n"
427
- "mov %%rax, (%%rdi, %%rdx, 8) \n"
428
-
429
- "inc %%rdx \n"
430
- "dec %%rcx \n"
431
- "jnz 2b \n"
432
-
433
- "adc %%rcx, %%rcx \n"
434
- "3: \n"
435
-
436
- : "=a" (dummy1), "=b" (dummy2), "=c" (c), "=d" (dummy3)
437
- : "1" (ss2), "2" (ss2_size), "3" (rest), "S" (ss1), "D" (result)
438
- : "%r8", "cc", "memory" );
439
-
440
- #endif
441
-
442
- TTMATH_VECTOR_LOGC("UInt::AddVector", c, result, ss1_size)
443
-
444
- return c;
445
- }
446
-
447
-
448
-
449
- /*!
450
- this method's subtracting ss2 from the 'this' and subtracting
451
- carry if it has been defined
452
- (this = this - ss2 - c)
453
-
454
- ***this method is created only on a 64bit platform***
455
-
456
- c must be zero or one (might be a bigger value than 1)
457
- function returns carry (1) (if it was)
458
- */
459
- template<uint value_size>
460
- uint UInt<value_size>::Sub(const UInt<value_size> & ss2, uint c)
461
- {
462
- uint b = value_size;
463
- uint * p1 = table;
464
- const uint * p2 = ss2.table;
465
-
466
- // we don't have to use TTMATH_REFERENCE_ASSERT here
467
- // this algorithm doesn't require it
468
-
469
- #ifndef __GNUC__
470
- c = ttmath_sbb_x64(p1,p2,b,c);
471
- #endif
472
-
473
-
474
- #ifdef __GNUC__
475
- uint dummy, dummy2;
476
-
477
- __asm__ __volatile__(
478
-
479
- "xorq %%rdx, %%rdx \n"
480
- "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0
481
-
482
- "1: \n"
483
- "movq (%%rsi,%%rdx,8), %%rax \n"
484
- "sbbq %%rax, (%%rbx,%%rdx,8) \n"
485
-
486
- "incq %%rdx \n"
487
- "decq %%rcx \n"
488
- "jnz 1b \n"
489
-
490
- "adcq %%rcx, %%rcx \n"
491
-
492
- : "=c" (c), "=a" (dummy), "=d" (dummy2)
493
- : "0" (b), "1" (c), "b" (p1), "S" (p2)
494
- : "cc", "memory" );
495
-
496
- #endif
497
-
498
- TTMATH_LOGC("UInt::Sub", c)
499
-
500
- return c;
501
- }
502
-
503
-
504
-
505
- /*!
506
- this method subtracts one word (at a specific position)
507
- and returns a carry (if it was)
508
-
509
- ***this method is created only on a 64bit platform***
510
-
511
- if we've got (value_size=3):
512
-
513
- table[0] = 10;
514
- table[1] = 30;
515
- table[2] = 5;
516
-
517
- and we call:
518
-
519
- SubInt(2,1)
520
-
521
- then it'll be:
522
-
523
- table[0] = 10;
524
- table[1] = 30 - 2;
525
- table[2] = 5;
526
-
527
- of course if there was a carry from table[2] it would be returned
528
- */
529
- template<uint value_size>
530
- uint UInt<value_size>::SubInt(uint value, uint index)
531
- {
532
- uint b = value_size;
533
- uint * p1 = table;
534
- uint c;
535
-
536
- TTMATH_ASSERT( index < value_size )
537
-
538
- #ifndef __GNUC__
539
- c = ttmath_subindexed_x64(p1,b,index,value);
540
- #endif
541
-
542
-
543
- #ifdef __GNUC__
544
- uint dummy, dummy2;
545
-
546
- __asm__ __volatile__(
547
-
548
- "subq %%rdx, %%rcx \n"
549
-
550
- "1: \n"
551
- "subq %%rax, (%%rbx,%%rdx,8) \n"
552
- "jnc 2f \n"
553
-
554
- "movq $1, %%rax \n"
555
- "incq %%rdx \n"
556
- "decq %%rcx \n"
557
- "jnz 1b \n"
558
-
559
- "2: \n"
560
- "setc %%al \n"
561
- "movzx %%al, %%rdx \n"
562
-
563
- : "=d" (c), "=a" (dummy), "=c" (dummy2)
564
- : "0" (index), "1" (value), "2" (b), "b" (p1)
565
- : "cc", "memory" );
566
-
567
- #endif
568
-
569
- TTMATH_LOGC("UInt::SubInt", c)
570
-
571
- return c;
572
- }
573
-
574
-
575
- /*!
576
- this static method subtractes one vector from the other
577
- 'ss1' is larger in size or equal to 'ss2'
578
-
579
- - ss1 points to the first (larger) vector
580
- - ss2 points to the second vector
581
- - ss1_size - size of the ss1 (and size of the result too)
582
- - ss2_size - size of the ss2
583
- - result - is the result vector (which has size the same as ss1: ss1_size)
584
-
585
- Example: ss1_size is 5, ss2_size is 3
586
- ss1: ss2: result (output):
587
- 5 1 5-1
588
- 4 3 4-3
589
- 2 7 2-7
590
- 6 6-1 (the borrow from previous item)
591
- 9 9
592
- return (carry): 0
593
- of course the carry (borrow) is propagated and will be returned from the last item
594
- (this method is used by the Karatsuba multiplication algorithm)
595
- */
596
- template<uint value_size>
597
- uint UInt<value_size>::SubVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result)
598
- {
599
- TTMATH_ASSERT( ss1_size >= ss2_size )
600
-
601
- uint c;
602
-
603
- #ifndef __GNUC__
604
- c = ttmath_subvector_x64(ss1, ss2, ss1_size, ss2_size, result);
605
- #endif
606
-
607
-
608
- #ifdef __GNUC__
609
-
610
- // the asm code is nearly the same as in AddVector
611
- // only two instructions 'adc' are changed to 'sbb'
612
-
613
- uint dummy1, dummy2, dummy3;
614
- uint rest = ss1_size - ss2_size;
615
-
616
- __asm__ __volatile__(
617
- "mov %%rdx, %%r8 \n"
618
- "xor %%rdx, %%rdx \n" // rdx = 0, cf = 0
619
- "1: \n"
620
- "mov (%%rsi,%%rdx,8), %%rax \n"
621
- "sbb (%%rbx,%%rdx,8), %%rax \n"
622
- "mov %%rax, (%%rdi,%%rdx,8) \n"
623
-
624
- "inc %%rdx \n"
625
- "dec %%rcx \n"
626
- "jnz 1b \n"
627
-
628
- "adc %%rcx, %%rcx \n" // rcx has the cf state
629
-
630
- "or %%r8, %%r8 \n"
631
- "jz 3f \n"
632
-
633
- "xor %%rbx, %%rbx \n" // ebx = 0
634
- "neg %%rcx \n" // setting cf from rcx
635
- "mov %%r8, %%rcx \n" // rcx=rest and is != 0
636
- "2: \n"
637
- "mov (%%rsi, %%rdx, 8), %%rax \n"
638
- "sbb %%rbx, %%rax \n"
639
- "mov %%rax, (%%rdi, %%rdx, 8) \n"
640
-
641
- "inc %%rdx \n"
642
- "dec %%rcx \n"
643
- "jnz 2b \n"
644
-
645
- "adc %%rcx, %%rcx \n"
646
- "3: \n"
647
-
648
- : "=a" (dummy1), "=b" (dummy2), "=c" (c), "=d" (dummy3)
649
- : "1" (ss2), "2" (ss2_size), "3" (rest), "S" (ss1), "D" (result)
650
- : "%r8", "cc", "memory" );
651
-
652
- #endif
653
-
654
- TTMATH_VECTOR_LOGC("UInt::SubVector", c, result, ss1_size)
655
-
656
- return c;
657
- }
658
-
659
-
660
- /*!
661
- this method moves all bits into the left hand side
662
- return value <- this <- c
663
-
664
- the lowest *bit* will be held the 'c' and
665
- the state of one additional bit (on the left hand side)
666
- will be returned
667
-
668
- for example:
669
- let this is 001010000
670
- after Rcl2_one(1) there'll be 010100001 and Rcl2_one returns 0
671
-
672
- ***this method is created only on a 64bit platform***
673
- */
674
- template<uint value_size>
675
- uint UInt<value_size>::Rcl2_one(uint c)
676
- {
677
- sint b = value_size;
678
- uint * p1 = table;
679
-
680
-
681
- #ifndef __GNUC__
682
- c = ttmath_rcl_x64(p1,b,c);
683
- #endif
684
-
685
-
686
- #ifdef __GNUC__
687
- uint dummy, dummy2;
688
-
689
- __asm__ __volatile__(
690
-
691
- "xorq %%rdx, %%rdx \n" // rdx=0
692
- "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0
693
-
694
- "1: \n"
695
- "rclq $1, (%%rbx, %%rdx, 8) \n"
696
-
697
- "incq %%rdx \n"
698
- "decq %%rcx \n"
699
- "jnz 1b \n"
700
-
701
- "adcq %%rcx, %%rcx \n"
702
-
703
- : "=c" (c), "=a" (dummy), "=d" (dummy2)
704
- : "0" (b), "1" (c), "b" (p1)
705
- : "cc", "memory" );
706
-
707
- #endif
708
-
709
- TTMATH_LOGC("UInt::Rcl2_one", c)
710
-
711
- return c;
712
- }
713
-
714
-
715
- /*!
716
- this method moves all bits into the right hand side
717
- c -> this -> return value
718
-
719
- the highest *bit* will be held the 'c' and
720
- the state of one additional bit (on the right hand side)
721
- will be returned
722
-
723
- for example:
724
- let this is 000000010
725
- after Rcr2_one(1) there'll be 100000001 and Rcr2_one returns 0
726
-
727
- ***this method is created only on a 64bit platform***
728
- */
729
- template<uint value_size>
730
- uint UInt<value_size>::Rcr2_one(uint c)
731
- {
732
- sint b = value_size;
733
- uint * p1 = table;
734
-
735
-
736
- #ifndef __GNUC__
737
- c = ttmath_rcr_x64(p1,b,c);
738
- #endif
739
-
740
-
741
- #ifdef __GNUC__
742
- uint dummy;
743
-
744
- __asm__ __volatile__(
745
-
746
- "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0
747
-
748
- "1: \n"
749
- "rcrq $1, -8(%%rbx, %%rcx, 8) \n"
750
-
751
- "decq %%rcx \n"
752
- "jnz 1b \n"
753
-
754
- "adcq %%rcx, %%rcx \n"
755
-
756
- : "=c" (c), "=a" (dummy)
757
- : "0" (b), "1" (c), "b" (p1)
758
- : "cc", "memory" );
759
-
760
- #endif
761
-
762
- TTMATH_LOGC("UInt::Rcr2_one", c)
763
-
764
- return c;
765
- }
766
-
767
-
768
-
769
- /*!
770
- this method moves all bits into the left hand side
771
- return value <- this <- c
772
-
773
- the lowest *bits* will be held the 'c' and
774
- the state of one additional bit (on the left hand side)
775
- will be returned
776
-
777
- for example:
778
- let this is 001010000
779
- after Rcl2(3, 1) there'll be 010000111 and Rcl2 returns 1
780
-
781
- ***this method is created only on a 64bit platform***
782
- */
783
- template<uint value_size>
784
- uint UInt<value_size>::Rcl2(uint bits, uint c)
785
- {
786
- TTMATH_ASSERT( bits>0 && bits<TTMATH_BITS_PER_UINT )
787
-
788
- uint b = value_size;
789
- uint * p1 = table;
790
-
791
-
792
- #ifndef __GNUC__
793
- c = ttmath_rcl2_x64(p1,b,bits,c);
794
- #endif
795
-
796
-
797
- #ifdef __GNUC__
798
- uint dummy, dummy2, dummy3;
799
-
800
- __asm__ __volatile__(
801
-
802
- "movq %%rcx, %%rsi \n"
803
- "movq $64, %%rcx \n"
804
- "subq %%rsi, %%rcx \n"
805
- "movq $-1, %%rdx \n"
806
- "shrq %%cl, %%rdx \n"
807
- "movq %%rdx, %%r8 \n"
808
- "movq %%rsi, %%rcx \n"
809
-
810
- "xorq %%rdx, %%rdx \n"
811
- "movq %%rdx, %%rsi \n"
812
- "orq %%rax, %%rax \n"
813
- "cmovnz %%r8, %%rsi \n"
814
-
815
- "1: \n"
816
- "rolq %%cl, (%%rbx,%%rdx,8) \n"
817
-
818
- "movq (%%rbx,%%rdx,8), %%rax \n"
819
- "andq %%r8, %%rax \n"
820
- "xorq %%rax, (%%rbx,%%rdx,8) \n"
821
- "orq %%rsi, (%%rbx,%%rdx,8) \n"
822
- "movq %%rax, %%rsi \n"
823
-
824
- "incq %%rdx \n"
825
- "decq %%rdi \n"
826
- "jnz 1b \n"
827
-
828
- "and $1, %%rax \n"
829
-
830
- : "=a" (c), "=D" (dummy), "=S" (dummy2), "=d" (dummy3)
831
- : "0" (c), "1" (b), "b" (p1), "c" (bits)
832
- : "%r8", "cc", "memory" );
833
-
834
- #endif
835
-
836
- TTMATH_LOGC("UInt::Rcl2", c)
837
-
838
- return c;
839
- }
840
-
841
-
842
- /*!
843
- this method moves all bits into the right hand side
844
- C -> this -> return value
845
-
846
- the highest *bits* will be held the 'c' and
847
- the state of one additional bit (on the right hand side)
848
- will be returned
849
-
850
- for example:
851
- let this is 000000010
852
- after Rcr2(2, 1) there'll be 110000000 and Rcr2 returns 1
853
-
854
- ***this method is created only on a 64bit platform***
855
- */
856
- template<uint value_size>
857
- uint UInt<value_size>::Rcr2(uint bits, uint c)
858
- {
859
- TTMATH_ASSERT( bits>0 && bits<TTMATH_BITS_PER_UINT )
860
-
861
- sint b = value_size;
862
- uint * p1 = table;
863
-
864
-
865
- #ifndef __GNUC__
866
- c = ttmath_rcr2_x64(p1,b,bits,c);
867
- #endif
868
-
869
-
870
- #ifdef __GNUC__
871
- uint dummy, dummy2, dummy3;
872
-
873
- __asm__ __volatile__(
874
-
875
- "movq %%rcx, %%rsi \n"
876
- "movq $64, %%rcx \n"
877
- "subq %%rsi, %%rcx \n"
878
- "movq $-1, %%rdx \n"
879
- "shlq %%cl, %%rdx \n"
880
- "movq %%rdx, %%R8 \n"
881
- "movq %%rsi, %%rcx \n"
882
-
883
- "xorq %%rdx, %%rdx \n"
884
- "movq %%rdx, %%rsi \n"
885
- "addq %%rdi, %%rdx \n"
886
- "decq %%rdx \n"
887
- "orq %%rax, %%rax \n"
888
- "cmovnz %%R8, %%rsi \n"
889
-
890
- "1: \n"
891
- "rorq %%cl, (%%rbx,%%rdx,8) \n"
892
-
893
- "movq (%%rbx,%%rdx,8), %%rax \n"
894
- "andq %%R8, %%rax \n"
895
- "xorq %%rax, (%%rbx,%%rdx,8) \n"
896
- "orq %%rsi, (%%rbx,%%rdx,8) \n"
897
- "movq %%rax, %%rsi \n"
898
-
899
- "decq %%rdx \n"
900
- "decq %%rdi \n"
901
- "jnz 1b \n"
902
-
903
- "rolq $1, %%rax \n"
904
- "andq $1, %%rax \n"
905
-
906
- : "=a" (c), "=D" (dummy), "=S" (dummy2), "=d" (dummy3)
907
- : "0" (c), "1" (b), "b" (p1), "c" (bits)
908
- : "%r8", "cc", "memory" );
909
-
910
- #endif
911
-
912
- TTMATH_LOGC("UInt::Rcr2", c)
913
-
914
- return c;
915
- }
916
-
917
-
918
- /*
919
- this method returns the number of the highest set bit in one 64-bit word
920
- if the 'x' is zero this method returns '-1'
921
-
922
- ***this method is created only on a 64bit platform***
923
- */
924
- template<uint value_size>
925
- sint UInt<value_size>::FindLeadingBitInWord(uint x)
926
- {
927
- sint result;
928
-
929
-
930
- #ifndef __GNUC__
931
-
932
- unsigned long nIndex = 0;
933
-
934
- if( _BitScanReverse64(&nIndex,x) == 0 )
935
- result = -1;
936
- else
937
- result = nIndex;
938
-
939
- #endif
940
-
941
-
942
- #ifdef __GNUC__
943
- uint dummy;
944
-
945
- __asm__ (
946
-
947
- "movq $-1, %1 \n"
948
- "bsrq %2, %0 \n"
949
- "cmovz %1, %0 \n"
950
-
951
- : "=r" (result), "=&r" (dummy)
952
- : "r" (x)
953
- : "cc" );
954
-
955
- #endif
956
-
957
-
958
- return result;
959
- }
960
-
961
-
962
- /*
963
- this method returns the number of the highest set bit in one 64-bit word
964
- if the 'x' is zero this method returns '-1'
965
-
966
- ***this method is created only on a 64bit platform***
967
- */
968
- template<uint value_size>
969
- sint UInt<value_size>::FindLowestBitInWord(uint x)
970
- {
971
- sint result;
972
-
973
-
974
- #ifndef __GNUC__
975
-
976
- unsigned long nIndex = 0;
977
-
978
- if( _BitScanForward64(&nIndex,x) == 0 )
979
- result = -1;
980
- else
981
- result = nIndex;
982
-
983
- #endif
984
-
985
-
986
- #ifdef __GNUC__
987
- uint dummy;
988
-
989
- __asm__ (
990
-
991
- "movq $-1, %1 \n"
992
- "bsfq %2, %0 \n"
993
- "cmovz %1, %0 \n"
994
-
995
- : "=r" (result), "=&r" (dummy)
996
- : "r" (x)
997
- : "cc" );
998
-
999
- #endif
1000
-
1001
-
1002
- return result;
1003
- }
1004
-
1005
-
1006
- /*!
1007
- this method sets a special bit in the 'value'
1008
- and returns the last state of the bit (zero or one)
1009
-
1010
- ***this method is created only on a 64bit platform***
1011
-
1012
- bit is from <0,63>
1013
-
1014
- e.g.
1015
- uint x = 100;
1016
- uint bit = SetBitInWord(x, 3);
1017
- now: x = 108 and bit = 0
1018
- */
1019
- template<uint value_size>
1020
- uint UInt<value_size>::SetBitInWord(uint & value, uint bit)
1021
- {
1022
- TTMATH_ASSERT( bit < TTMATH_BITS_PER_UINT )
1023
-
1024
- uint old_bit;
1025
- uint v = value;
1026
-
1027
-
1028
- #ifndef __GNUC__
1029
- old_bit = _bittestandset64((__int64*)&value,bit) != 0;
1030
- #endif
1031
-
1032
-
1033
- #ifdef __GNUC__
1034
-
1035
- __asm__ (
1036
-
1037
- "btsq %%rbx, %%rax \n"
1038
- "setc %%bl \n"
1039
- "movzx %%bl, %%rbx \n"
1040
-
1041
- : "=a" (v), "=b" (old_bit)
1042
- : "0" (v), "1" (bit)
1043
- : "cc" );
1044
-
1045
- #endif
1046
-
1047
- value = v;
1048
-
1049
- return old_bit;
1050
- }
1051
-
1052
-
1053
- /*!
1054
- *
1055
- * Multiplication
1056
- *
1057
- *
1058
- */
1059
-
1060
-
1061
- /*!
1062
- multiplication: result_high:result_low = a * b
1063
- - result_high - higher word of the result
1064
- - result_low - lower word of the result
1065
-
1066
- this methos never returns a carry
1067
- this method is used in the second version of the multiplication algorithms
1068
-
1069
- ***this method is created only on a 64bit platform***
1070
- */
1071
- template<uint value_size>
1072
- void UInt<value_size>::MulTwoWords(uint a, uint b, uint * result_high, uint * result_low)
1073
- {
1074
- /*
1075
- we must use these temporary variables in order to inform the compilator
1076
- that value pointed with result1 and result2 has changed
1077
-
1078
- this has no effect in visual studio but it's usefull when
1079
- using gcc and options like -O
1080
- */
1081
- uint result1_;
1082
- uint result2_;
1083
-
1084
-
1085
- #ifndef __GNUC__
1086
- result1_ = _umul128(a,b,&result2_);
1087
- #endif
1088
-
1089
-
1090
- #ifdef __GNUC__
1091
-
1092
- __asm__ (
1093
-
1094
- "mulq %%rdx \n"
1095
-
1096
- : "=a" (result1_), "=d" (result2_)
1097
- : "0" (a), "1" (b)
1098
- : "cc" );
1099
-
1100
- #endif
1101
-
1102
-
1103
- *result_low = result1_;
1104
- *result_high = result2_;
1105
- }
1106
-
1107
-
1108
-
1109
-
1110
- /*!
1111
- *
1112
- * Division
1113
- *
1114
- *
1115
- */
1116
-
1117
-
1118
- /*!
1119
- this method calculates 64bits word a:b / 32bits c (a higher, b lower word)
1120
- r = a:b / c and rest - remainder
1121
-
1122
- ***this method is created only on a 64bit platform***
1123
-
1124
- *
1125
- * WARNING:
1126
- * if r (one word) is too small for the result or c is equal zero
1127
- * there'll be a hardware interruption (0)
1128
- * and probably the end of your program
1129
- *
1130
- */
1131
- template<uint value_size>
1132
- void UInt<value_size>::DivTwoWords(uint a,uint b, uint c, uint * r, uint * rest)
1133
- {
1134
- uint r_;
1135
- uint rest_;
1136
- /*
1137
- these variables have similar meaning like those in
1138
- the multiplication algorithm MulTwoWords
1139
- */
1140
-
1141
- TTMATH_ASSERT( c != 0 )
1142
-
1143
-
1144
- #ifndef __GNUC__
1145
-
1146
- ttmath_div_x64(&a,&b,c);
1147
- r_ = a;
1148
- rest_ = b;
1149
-
1150
- #endif
1151
-
1152
-
1153
- #ifdef __GNUC__
1154
-
1155
- __asm__ (
1156
-
1157
- "divq %%rcx \n"
1158
-
1159
- : "=a" (r_), "=d" (rest_)
1160
- : "d" (a), "a" (b), "c" (c)
1161
- : "cc" );
1162
-
1163
- #endif
1164
-
1165
-
1166
- *r = r_;
1167
- *rest = rest_;
1168
- }
1169
-
1170
- } //namespace
1171
-
1172
-
1173
- #endif //ifdef TTMATH_PLATFORM64
1174
- #endif //ifndef TTMATH_NOASM
1175
- #endif
1176
-
1177
-