@ladybugmem/icebug 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/binding.gyp +54 -0
- package/build/Release/.deps/Release/icebug.node.d +1 -0
- package/build/Release/.deps/Release/obj.target/icebug/src/addon.o.d +291 -0
- package/build/Release/icebug.node +0 -0
- package/build/Release/obj.target/icebug/src/addon.o +0 -0
- package/lib/index.d.ts +361 -0
- package/lib/index.js +102 -0
- package/package.json +42 -0
- package/src/addon.cpp +1253 -0
- package/vendor/include/networkit/GlobalState.hpp +86 -0
- package/vendor/include/networkit/Globals.hpp +41 -0
- package/vendor/include/networkit/algebraic/AlgebraicGlobals.hpp +27 -0
- package/vendor/include/networkit/algebraic/CSRGeneralMatrix.hpp +1292 -0
- package/vendor/include/networkit/algebraic/CSRMatrix.hpp +11 -0
- package/vendor/include/networkit/algebraic/DenseMatrix.hpp +537 -0
- package/vendor/include/networkit/algebraic/DynamicMatrix.hpp +514 -0
- package/vendor/include/networkit/algebraic/GraphBLAS.hpp +323 -0
- package/vendor/include/networkit/algebraic/MatrixTools.hpp +156 -0
- package/vendor/include/networkit/algebraic/Semirings.hpp +171 -0
- package/vendor/include/networkit/algebraic/SparseAccumulator.hpp +111 -0
- package/vendor/include/networkit/algebraic/Vector.hpp +371 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBFS.hpp +72 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicBellmanFord.hpp +88 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicMatchingCoarsening.hpp +96 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicPageRank.hpp +145 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicSpanningEdgeCentrality.hpp +122 -0
- package/vendor/include/networkit/algebraic/algorithms/AlgebraicTriangleCounting.hpp +76 -0
- package/vendor/include/networkit/auxiliary/AlignedAllocator.hpp +113 -0
- package/vendor/include/networkit/auxiliary/ArrayTools.hpp +85 -0
- package/vendor/include/networkit/auxiliary/BloomFilter.hpp +70 -0
- package/vendor/include/networkit/auxiliary/BucketPQ.hpp +142 -0
- package/vendor/include/networkit/auxiliary/Enforce.hpp +117 -0
- package/vendor/include/networkit/auxiliary/FunctionTraits.hpp +74 -0
- package/vendor/include/networkit/auxiliary/HashUtils.hpp +28 -0
- package/vendor/include/networkit/auxiliary/IncrementalUniformRandomSelector.hpp +52 -0
- package/vendor/include/networkit/auxiliary/Log.hpp +119 -0
- package/vendor/include/networkit/auxiliary/MissingMath.hpp +48 -0
- package/vendor/include/networkit/auxiliary/Multiprecision.hpp +17 -0
- package/vendor/include/networkit/auxiliary/NumberParsing.hpp +307 -0
- package/vendor/include/networkit/auxiliary/NumericTools.hpp +57 -0
- package/vendor/include/networkit/auxiliary/Parallel.hpp +56 -0
- package/vendor/include/networkit/auxiliary/Parallelism.hpp +33 -0
- package/vendor/include/networkit/auxiliary/PrioQueue.hpp +252 -0
- package/vendor/include/networkit/auxiliary/Random.hpp +122 -0
- package/vendor/include/networkit/auxiliary/SetIntersector.hpp +72 -0
- package/vendor/include/networkit/auxiliary/SignalHandling.hpp +39 -0
- package/vendor/include/networkit/auxiliary/SortedList.hpp +128 -0
- package/vendor/include/networkit/auxiliary/SparseVector.hpp +215 -0
- package/vendor/include/networkit/auxiliary/SpinLock.hpp +23 -0
- package/vendor/include/networkit/auxiliary/StringBuilder.hpp +322 -0
- package/vendor/include/networkit/auxiliary/StringTools.hpp +76 -0
- package/vendor/include/networkit/auxiliary/TemplateUtils.hpp +76 -0
- package/vendor/include/networkit/auxiliary/Timer.hpp +145 -0
- package/vendor/include/networkit/auxiliary/VectorComparator.hpp +32 -0
- package/vendor/include/networkit/base/Algorithm.hpp +41 -0
- package/vendor/include/networkit/base/DynAlgorithm.hpp +31 -0
- package/vendor/include/networkit/centrality/ApproxBetweenness.hpp +62 -0
- package/vendor/include/networkit/centrality/ApproxCloseness.hpp +136 -0
- package/vendor/include/networkit/centrality/ApproxElectricalCloseness.hpp +156 -0
- package/vendor/include/networkit/centrality/ApproxGroupBetweenness.hpp +124 -0
- package/vendor/include/networkit/centrality/ApproxSpanningEdge.hpp +84 -0
- package/vendor/include/networkit/centrality/Betweenness.hpp +47 -0
- package/vendor/include/networkit/centrality/Centrality.hpp +98 -0
- package/vendor/include/networkit/centrality/Closeness.hpp +107 -0
- package/vendor/include/networkit/centrality/ComplexPaths.hpp +113 -0
- package/vendor/include/networkit/centrality/CoreDecomposition.hpp +161 -0
- package/vendor/include/networkit/centrality/DegreeCentrality.hpp +55 -0
- package/vendor/include/networkit/centrality/DynApproxBetweenness.hpp +95 -0
- package/vendor/include/networkit/centrality/DynBetweenness.hpp +99 -0
- package/vendor/include/networkit/centrality/DynBetweennessOneNode.hpp +98 -0
- package/vendor/include/networkit/centrality/DynKatzCentrality.hpp +115 -0
- package/vendor/include/networkit/centrality/DynTopHarmonicCloseness.hpp +223 -0
- package/vendor/include/networkit/centrality/EigenvectorCentrality.hpp +41 -0
- package/vendor/include/networkit/centrality/EstimateBetweenness.hpp +51 -0
- package/vendor/include/networkit/centrality/ForestCentrality.hpp +112 -0
- package/vendor/include/networkit/centrality/GedWalk.hpp +225 -0
- package/vendor/include/networkit/centrality/GroupCloseness.hpp +115 -0
- package/vendor/include/networkit/centrality/GroupClosenessGrowShrink.hpp +78 -0
- package/vendor/include/networkit/centrality/GroupClosenessLocalSearch.hpp +77 -0
- package/vendor/include/networkit/centrality/GroupClosenessLocalSwaps.hpp +106 -0
- package/vendor/include/networkit/centrality/GroupDegree.hpp +155 -0
- package/vendor/include/networkit/centrality/GroupHarmonicCloseness.hpp +83 -0
- package/vendor/include/networkit/centrality/HarmonicCloseness.hpp +48 -0
- package/vendor/include/networkit/centrality/KPathCentrality.hpp +52 -0
- package/vendor/include/networkit/centrality/KadabraBetweenness.hpp +242 -0
- package/vendor/include/networkit/centrality/KatzCentrality.hpp +62 -0
- package/vendor/include/networkit/centrality/LaplacianCentrality.hpp +44 -0
- package/vendor/include/networkit/centrality/LocalClusteringCoefficient.hpp +60 -0
- package/vendor/include/networkit/centrality/LocalPartitionCoverage.hpp +43 -0
- package/vendor/include/networkit/centrality/LocalSquareClusteringCoefficient.hpp +42 -0
- package/vendor/include/networkit/centrality/PageRank.hpp +101 -0
- package/vendor/include/networkit/centrality/PermanenceCentrality.hpp +48 -0
- package/vendor/include/networkit/centrality/Sfigality.hpp +45 -0
- package/vendor/include/networkit/centrality/SpanningEdgeCentrality.hpp +86 -0
- package/vendor/include/networkit/centrality/TopCloseness.hpp +136 -0
- package/vendor/include/networkit/centrality/TopHarmonicCloseness.hpp +151 -0
- package/vendor/include/networkit/clique/MaximalCliques.hpp +83 -0
- package/vendor/include/networkit/coarsening/ClusteringProjector.hpp +59 -0
- package/vendor/include/networkit/coarsening/CoarsenedGraphView.hpp +156 -0
- package/vendor/include/networkit/coarsening/GraphCoarsening.hpp +57 -0
- package/vendor/include/networkit/coarsening/MatchingCoarsening.hpp +43 -0
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarsening.hpp +33 -0
- package/vendor/include/networkit/coarsening/ParallelPartitionCoarseningView.hpp +62 -0
- package/vendor/include/networkit/community/AdjustedRandMeasure.hpp +31 -0
- package/vendor/include/networkit/community/ClusteringGenerator.hpp +75 -0
- package/vendor/include/networkit/community/CommunityDetectionAlgorithm.hpp +58 -0
- package/vendor/include/networkit/community/Conductance.hpp +32 -0
- package/vendor/include/networkit/community/CoverF1Similarity.hpp +53 -0
- package/vendor/include/networkit/community/CoverHubDominance.hpp +38 -0
- package/vendor/include/networkit/community/Coverage.hpp +25 -0
- package/vendor/include/networkit/community/CutClustering.hpp +62 -0
- package/vendor/include/networkit/community/DissimilarityMeasure.hpp +31 -0
- package/vendor/include/networkit/community/DynamicNMIDistance.hpp +44 -0
- package/vendor/include/networkit/community/EdgeCut.hpp +24 -0
- package/vendor/include/networkit/community/GraphClusteringTools.hpp +103 -0
- package/vendor/include/networkit/community/GraphStructuralRandMeasure.hpp +28 -0
- package/vendor/include/networkit/community/HubDominance.hpp +46 -0
- package/vendor/include/networkit/community/IntrapartitionDensity.hpp +44 -0
- package/vendor/include/networkit/community/IsolatedInterpartitionConductance.hpp +40 -0
- package/vendor/include/networkit/community/IsolatedInterpartitionExpansion.hpp +40 -0
- package/vendor/include/networkit/community/JaccardMeasure.hpp +25 -0
- package/vendor/include/networkit/community/LFM.hpp +49 -0
- package/vendor/include/networkit/community/LPDegreeOrdered.hpp +48 -0
- package/vendor/include/networkit/community/LocalCommunityEvaluation.hpp +100 -0
- package/vendor/include/networkit/community/LocalCoverEvaluation.hpp +31 -0
- package/vendor/include/networkit/community/LocalPartitionEvaluation.hpp +31 -0
- package/vendor/include/networkit/community/LouvainMapEquation.hpp +135 -0
- package/vendor/include/networkit/community/Modularity.hpp +54 -0
- package/vendor/include/networkit/community/NMIDistance.hpp +28 -0
- package/vendor/include/networkit/community/NodeStructuralRandMeasure.hpp +27 -0
- package/vendor/include/networkit/community/OverlappingCommunityDetectionAlgorithm.hpp +51 -0
- package/vendor/include/networkit/community/OverlappingNMIDistance.hpp +175 -0
- package/vendor/include/networkit/community/PLM.hpp +89 -0
- package/vendor/include/networkit/community/PLP.hpp +83 -0
- package/vendor/include/networkit/community/ParallelAgglomerativeClusterer.hpp +37 -0
- package/vendor/include/networkit/community/ParallelLeiden.hpp +96 -0
- package/vendor/include/networkit/community/ParallelLeidenView.hpp +138 -0
- package/vendor/include/networkit/community/PartitionFragmentation.hpp +30 -0
- package/vendor/include/networkit/community/PartitionHubDominance.hpp +37 -0
- package/vendor/include/networkit/community/PartitionIntersection.hpp +25 -0
- package/vendor/include/networkit/community/QualityMeasure.hpp +27 -0
- package/vendor/include/networkit/community/SampledGraphStructuralRandMeasure.hpp +40 -0
- package/vendor/include/networkit/community/SampledNodeStructuralRandMeasure.hpp +40 -0
- package/vendor/include/networkit/community/StablePartitionNodes.hpp +48 -0
- package/vendor/include/networkit/components/BiconnectedComponents.hpp +116 -0
- package/vendor/include/networkit/components/ComponentDecomposition.hpp +72 -0
- package/vendor/include/networkit/components/ConnectedComponents.hpp +55 -0
- package/vendor/include/networkit/components/DynConnectedComponents.hpp +71 -0
- package/vendor/include/networkit/components/DynWeaklyConnectedComponents.hpp +73 -0
- package/vendor/include/networkit/components/ParallelConnectedComponents.hpp +44 -0
- package/vendor/include/networkit/components/RandomSpanningForest.hpp +36 -0
- package/vendor/include/networkit/components/StronglyConnectedComponents.hpp +50 -0
- package/vendor/include/networkit/components/WeaklyConnectedComponents.hpp +59 -0
- package/vendor/include/networkit/correlation/Assortativity.hpp +64 -0
- package/vendor/include/networkit/distance/APSP.hpp +70 -0
- package/vendor/include/networkit/distance/AStar.hpp +68 -0
- package/vendor/include/networkit/distance/AStarGeneral.hpp +110 -0
- package/vendor/include/networkit/distance/AdamicAdarDistance.hpp +52 -0
- package/vendor/include/networkit/distance/AffectedNodes.hpp +130 -0
- package/vendor/include/networkit/distance/AlgebraicDistance.hpp +63 -0
- package/vendor/include/networkit/distance/BFS.hpp +43 -0
- package/vendor/include/networkit/distance/BidirectionalBFS.hpp +51 -0
- package/vendor/include/networkit/distance/BidirectionalDijkstra.hpp +69 -0
- package/vendor/include/networkit/distance/CommuteTimeDistance.hpp +89 -0
- package/vendor/include/networkit/distance/Diameter.hpp +97 -0
- package/vendor/include/networkit/distance/Dijkstra.hpp +50 -0
- package/vendor/include/networkit/distance/DynAPSP.hpp +67 -0
- package/vendor/include/networkit/distance/DynBFS.hpp +56 -0
- package/vendor/include/networkit/distance/DynDijkstra.hpp +57 -0
- package/vendor/include/networkit/distance/DynPrunedLandmarkLabeling.hpp +67 -0
- package/vendor/include/networkit/distance/DynSSSP.hpp +87 -0
- package/vendor/include/networkit/distance/Eccentricity.hpp +32 -0
- package/vendor/include/networkit/distance/EffectiveDiameter.hpp +47 -0
- package/vendor/include/networkit/distance/EffectiveDiameterApproximation.hpp +57 -0
- package/vendor/include/networkit/distance/FloydWarshall.hpp +93 -0
- package/vendor/include/networkit/distance/GraphDistance.hpp +49 -0
- package/vendor/include/networkit/distance/HopPlotApproximation.hpp +62 -0
- package/vendor/include/networkit/distance/IncompleteDijkstra.hpp +66 -0
- package/vendor/include/networkit/distance/IncompleteSSSP.hpp +41 -0
- package/vendor/include/networkit/distance/JaccardDistance.hpp +57 -0
- package/vendor/include/networkit/distance/MultiTargetBFS.hpp +32 -0
- package/vendor/include/networkit/distance/MultiTargetDijkstra.hpp +40 -0
- package/vendor/include/networkit/distance/NeighborhoodFunction.hpp +47 -0
- package/vendor/include/networkit/distance/NeighborhoodFunctionApproximation.hpp +56 -0
- package/vendor/include/networkit/distance/NeighborhoodFunctionHeuristic.hpp +56 -0
- package/vendor/include/networkit/distance/NodeDistance.hpp +54 -0
- package/vendor/include/networkit/distance/PrunedLandmarkLabeling.hpp +76 -0
- package/vendor/include/networkit/distance/ReverseBFS.hpp +46 -0
- package/vendor/include/networkit/distance/SPSP.hpp +143 -0
- package/vendor/include/networkit/distance/SSSP.hpp +216 -0
- package/vendor/include/networkit/distance/STSP.hpp +193 -0
- package/vendor/include/networkit/distance/Volume.hpp +66 -0
- package/vendor/include/networkit/dynamics/DGSStreamParser.hpp +40 -0
- package/vendor/include/networkit/dynamics/DGSWriter.hpp +30 -0
- package/vendor/include/networkit/dynamics/GraphDifference.hpp +110 -0
- package/vendor/include/networkit/dynamics/GraphEvent.hpp +55 -0
- package/vendor/include/networkit/dynamics/GraphEventHandler.hpp +39 -0
- package/vendor/include/networkit/dynamics/GraphEventProxy.hpp +55 -0
- package/vendor/include/networkit/dynamics/GraphUpdater.hpp +38 -0
- package/vendor/include/networkit/edgescores/ChibaNishizekiQuadrangleEdgeScore.hpp +26 -0
- package/vendor/include/networkit/edgescores/ChibaNishizekiTriangleEdgeScore.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScore.hpp +50 -0
- package/vendor/include/networkit/edgescores/EdgeScoreAsWeight.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScoreBlender.hpp +33 -0
- package/vendor/include/networkit/edgescores/EdgeScoreLinearizer.hpp +32 -0
- package/vendor/include/networkit/edgescores/EdgeScoreNormalizer.hpp +35 -0
- package/vendor/include/networkit/edgescores/GeometricMeanScore.hpp +29 -0
- package/vendor/include/networkit/edgescores/PrefixJaccardScore.hpp +23 -0
- package/vendor/include/networkit/edgescores/TriangleEdgeScore.hpp +39 -0
- package/vendor/include/networkit/embedding/Node2Vec.hpp +83 -0
- package/vendor/include/networkit/flow/EdmondsKarp.hpp +112 -0
- package/vendor/include/networkit/generators/BarabasiAlbertGenerator.hpp +87 -0
- package/vendor/include/networkit/generators/ChungLuGenerator.hpp +46 -0
- package/vendor/include/networkit/generators/ChungLuGeneratorAlamEtAl.hpp +63 -0
- package/vendor/include/networkit/generators/ClusteredRandomGraphGenerator.hpp +56 -0
- package/vendor/include/networkit/generators/ConfigurationModel.hpp +36 -0
- package/vendor/include/networkit/generators/DorogovtsevMendesGenerator.hpp +33 -0
- package/vendor/include/networkit/generators/DynamicBarabasiAlbertGenerator.hpp +33 -0
- package/vendor/include/networkit/generators/DynamicDGSParser.hpp +51 -0
- package/vendor/include/networkit/generators/DynamicDorogovtsevMendesGenerator.hpp +34 -0
- package/vendor/include/networkit/generators/DynamicForestFireGenerator.hpp +55 -0
- package/vendor/include/networkit/generators/DynamicGraphGenerator.hpp +40 -0
- package/vendor/include/networkit/generators/DynamicGraphSource.hpp +79 -0
- package/vendor/include/networkit/generators/DynamicHyperbolicGenerator.hpp +143 -0
- package/vendor/include/networkit/generators/DynamicPathGenerator.hpp +26 -0
- package/vendor/include/networkit/generators/DynamicPubWebGenerator.hpp +54 -0
- package/vendor/include/networkit/generators/EdgeSwitchingMarkovChainGenerator.hpp +65 -0
- package/vendor/include/networkit/generators/ErdosRenyiEnumerator.hpp +318 -0
- package/vendor/include/networkit/generators/ErdosRenyiGenerator.hpp +56 -0
- package/vendor/include/networkit/generators/HavelHakimiGenerator.hpp +48 -0
- package/vendor/include/networkit/generators/HyperbolicGenerator.hpp +236 -0
- package/vendor/include/networkit/generators/LFRGenerator.hpp +175 -0
- package/vendor/include/networkit/generators/MocnikGenerator.hpp +147 -0
- package/vendor/include/networkit/generators/MocnikGeneratorBasic.hpp +58 -0
- package/vendor/include/networkit/generators/PowerlawDegreeSequence.hpp +128 -0
- package/vendor/include/networkit/generators/PubWebGenerator.hpp +94 -0
- package/vendor/include/networkit/generators/RegularRingLatticeGenerator.hpp +37 -0
- package/vendor/include/networkit/generators/RmatGenerator.hpp +67 -0
- package/vendor/include/networkit/generators/StaticDegreeSequenceGenerator.hpp +42 -0
- package/vendor/include/networkit/generators/StaticGraphGenerator.hpp +30 -0
- package/vendor/include/networkit/generators/StochasticBlockmodel.hpp +41 -0
- package/vendor/include/networkit/generators/WattsStrogatzGenerator.hpp +43 -0
- package/vendor/include/networkit/generators/quadtree/QuadNode.hpp +857 -0
- package/vendor/include/networkit/generators/quadtree/QuadNodeCartesianEuclid.hpp +587 -0
- package/vendor/include/networkit/generators/quadtree/QuadNodePolarEuclid.hpp +726 -0
- package/vendor/include/networkit/generators/quadtree/Quadtree.hpp +232 -0
- package/vendor/include/networkit/generators/quadtree/QuadtreeCartesianEuclid.hpp +149 -0
- package/vendor/include/networkit/generators/quadtree/QuadtreePolarEuclid.hpp +143 -0
- package/vendor/include/networkit/geometric/HyperbolicSpace.hpp +248 -0
- package/vendor/include/networkit/geometric/Point2DWithIndex.hpp +145 -0
- package/vendor/include/networkit/global/ClusteringCoefficient.hpp +42 -0
- package/vendor/include/networkit/global/GlobalClusteringCoefficient.hpp +24 -0
- package/vendor/include/networkit/graph/Attributes.hpp +568 -0
- package/vendor/include/networkit/graph/BFS.hpp +111 -0
- package/vendor/include/networkit/graph/DFS.hpp +71 -0
- package/vendor/include/networkit/graph/Dijkstra.hpp +83 -0
- package/vendor/include/networkit/graph/EdgeIterators.hpp +171 -0
- package/vendor/include/networkit/graph/Graph.hpp +2083 -0
- package/vendor/include/networkit/graph/GraphBuilder.hpp +289 -0
- package/vendor/include/networkit/graph/GraphR.hpp +133 -0
- package/vendor/include/networkit/graph/GraphTools.hpp +589 -0
- package/vendor/include/networkit/graph/GraphW.hpp +1236 -0
- package/vendor/include/networkit/graph/KruskalMSF.hpp +50 -0
- package/vendor/include/networkit/graph/NeighborIterators.hpp +163 -0
- package/vendor/include/networkit/graph/NodeIterators.hpp +127 -0
- package/vendor/include/networkit/graph/PrimMSF.hpp +66 -0
- package/vendor/include/networkit/graph/RandomMaximumSpanningForest.hpp +133 -0
- package/vendor/include/networkit/graph/SpanningForest.hpp +41 -0
- package/vendor/include/networkit/graph/TopologicalSort.hpp +87 -0
- package/vendor/include/networkit/graph/UnionMaximumSpanningForest.hpp +126 -0
- package/vendor/include/networkit/graph/test/GraphBuilderBenchmark.hpp +68 -0
- package/vendor/include/networkit/independentset/IndependentSetFinder.hpp +44 -0
- package/vendor/include/networkit/independentset/Luby.hpp +27 -0
- package/vendor/include/networkit/io/BinaryEdgeListPartitionReader.hpp +45 -0
- package/vendor/include/networkit/io/BinaryEdgeListPartitionWriter.hpp +47 -0
- package/vendor/include/networkit/io/BinaryPartitionReader.hpp +41 -0
- package/vendor/include/networkit/io/BinaryPartitionWriter.hpp +44 -0
- package/vendor/include/networkit/io/CoverReader.hpp +27 -0
- package/vendor/include/networkit/io/CoverWriter.hpp +21 -0
- package/vendor/include/networkit/io/DGSReader.hpp +39 -0
- package/vendor/include/networkit/io/DibapGraphReader.hpp +43 -0
- package/vendor/include/networkit/io/DotGraphWriter.hpp +39 -0
- package/vendor/include/networkit/io/DotPartitionWriter.hpp +23 -0
- package/vendor/include/networkit/io/DynamicGraphReader.hpp +29 -0
- package/vendor/include/networkit/io/EdgeListCoverReader.hpp +35 -0
- package/vendor/include/networkit/io/EdgeListPartitionReader.hpp +43 -0
- package/vendor/include/networkit/io/EdgeListReader.hpp +61 -0
- package/vendor/include/networkit/io/EdgeListWriter.hpp +48 -0
- package/vendor/include/networkit/io/GMLGraphReader.hpp +33 -0
- package/vendor/include/networkit/io/GMLGraphWriter.hpp +33 -0
- package/vendor/include/networkit/io/GraphIO.hpp +52 -0
- package/vendor/include/networkit/io/GraphReader.hpp +40 -0
- package/vendor/include/networkit/io/GraphToolBinaryReader.hpp +71 -0
- package/vendor/include/networkit/io/GraphToolBinaryWriter.hpp +61 -0
- package/vendor/include/networkit/io/GraphWriter.hpp +27 -0
- package/vendor/include/networkit/io/KONECTGraphReader.hpp +44 -0
- package/vendor/include/networkit/io/LineFileReader.hpp +42 -0
- package/vendor/include/networkit/io/METISGraphReader.hpp +36 -0
- package/vendor/include/networkit/io/METISGraphWriter.hpp +29 -0
- package/vendor/include/networkit/io/METISParser.hpp +63 -0
- package/vendor/include/networkit/io/MTXGraphReader.hpp +31 -0
- package/vendor/include/networkit/io/MTXParser.hpp +87 -0
- package/vendor/include/networkit/io/MatrixMarketReader.hpp +33 -0
- package/vendor/include/networkit/io/MatrixReader.hpp +33 -0
- package/vendor/include/networkit/io/MemoryMappedFile.hpp +80 -0
- package/vendor/include/networkit/io/NetworkitBinaryGraph.hpp +144 -0
- package/vendor/include/networkit/io/NetworkitBinaryReader.hpp +50 -0
- package/vendor/include/networkit/io/NetworkitBinaryWriter.hpp +71 -0
- package/vendor/include/networkit/io/PartitionReader.hpp +34 -0
- package/vendor/include/networkit/io/PartitionWriter.hpp +31 -0
- package/vendor/include/networkit/io/RBGraphReader.hpp +37 -0
- package/vendor/include/networkit/io/RBMatrixReader.hpp +49 -0
- package/vendor/include/networkit/io/RasterReader.hpp +40 -0
- package/vendor/include/networkit/io/SNAPEdgeListPartitionReader.hpp +28 -0
- package/vendor/include/networkit/io/SNAPGraphReader.hpp +53 -0
- package/vendor/include/networkit/io/SNAPGraphWriter.hpp +53 -0
- package/vendor/include/networkit/io/ThrillGraphBinaryReader.hpp +44 -0
- package/vendor/include/networkit/io/ThrillGraphBinaryWriter.hpp +27 -0
- package/vendor/include/networkit/layout/LayoutAlgorithm.hpp +39 -0
- package/vendor/include/networkit/linkprediction/AdamicAdarIndex.hpp +37 -0
- package/vendor/include/networkit/linkprediction/AdjustedRandIndex.hpp +36 -0
- package/vendor/include/networkit/linkprediction/AlgebraicDistanceIndex.hpp +70 -0
- package/vendor/include/networkit/linkprediction/CommonNeighborsIndex.hpp +39 -0
- package/vendor/include/networkit/linkprediction/EvaluationMetric.hpp +135 -0
- package/vendor/include/networkit/linkprediction/JaccardIndex.hpp +44 -0
- package/vendor/include/networkit/linkprediction/KatzIndex.hpp +84 -0
- package/vendor/include/networkit/linkprediction/LinkPredictor.hpp +98 -0
- package/vendor/include/networkit/linkprediction/LinkThresholder.hpp +56 -0
- package/vendor/include/networkit/linkprediction/MissingLinksFinder.hpp +60 -0
- package/vendor/include/networkit/linkprediction/NeighborhoodDistanceIndex.hpp +42 -0
- package/vendor/include/networkit/linkprediction/NeighborhoodUtility.hpp +54 -0
- package/vendor/include/networkit/linkprediction/NeighborsMeasureIndex.hpp +48 -0
- package/vendor/include/networkit/linkprediction/PrecisionRecallMetric.hpp +40 -0
- package/vendor/include/networkit/linkprediction/PredictionsSorter.hpp +66 -0
- package/vendor/include/networkit/linkprediction/PreferentialAttachmentIndex.hpp +37 -0
- package/vendor/include/networkit/linkprediction/ROCMetric.hpp +39 -0
- package/vendor/include/networkit/linkprediction/RandomLinkSampler.hpp +47 -0
- package/vendor/include/networkit/linkprediction/ResourceAllocationIndex.hpp +38 -0
- package/vendor/include/networkit/linkprediction/SameCommunityIndex.hpp +50 -0
- package/vendor/include/networkit/linkprediction/TotalNeighborsIndex.hpp +39 -0
- package/vendor/include/networkit/linkprediction/UDegreeIndex.hpp +35 -0
- package/vendor/include/networkit/linkprediction/VDegreeIndex.hpp +35 -0
- package/vendor/include/networkit/matching/BMatcher.hpp +52 -0
- package/vendor/include/networkit/matching/BMatching.hpp +115 -0
- package/vendor/include/networkit/matching/BSuitorMatcher.hpp +170 -0
- package/vendor/include/networkit/matching/DynamicBSuitorMatcher.hpp +78 -0
- package/vendor/include/networkit/matching/LocalMaxMatcher.hpp +35 -0
- package/vendor/include/networkit/matching/Matcher.hpp +55 -0
- package/vendor/include/networkit/matching/Matching.hpp +111 -0
- package/vendor/include/networkit/matching/PathGrowingMatcher.hpp +46 -0
- package/vendor/include/networkit/matching/SuitorMatcher.hpp +62 -0
- package/vendor/include/networkit/numerics/ConjugateGradient.hpp +163 -0
- package/vendor/include/networkit/numerics/GaussSeidelRelaxation.hpp +99 -0
- package/vendor/include/networkit/numerics/LAMG/LAMGSettings.hpp +70 -0
- package/vendor/include/networkit/numerics/LAMG/Lamg.hpp +460 -0
- package/vendor/include/networkit/numerics/LAMG/Level/EliminationStage.hpp +47 -0
- package/vendor/include/networkit/numerics/LAMG/Level/Level.hpp +56 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelAggregation.hpp +52 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelElimination.hpp +133 -0
- package/vendor/include/networkit/numerics/LAMG/Level/LevelFinest.hpp +28 -0
- package/vendor/include/networkit/numerics/LAMG/LevelHierarchy.hpp +165 -0
- package/vendor/include/networkit/numerics/LAMG/MultiLevelSetup.hpp +1090 -0
- package/vendor/include/networkit/numerics/LAMG/SolverLamg.hpp +316 -0
- package/vendor/include/networkit/numerics/LinearSolver.hpp +151 -0
- package/vendor/include/networkit/numerics/Preconditioner/DiagonalPreconditioner.hpp +61 -0
- package/vendor/include/networkit/numerics/Preconditioner/IdentityPreconditioner.hpp +36 -0
- package/vendor/include/networkit/numerics/Smoother.hpp +37 -0
- package/vendor/include/networkit/overlap/HashingOverlapper.hpp +28 -0
- package/vendor/include/networkit/overlap/Overlapper.hpp +27 -0
- package/vendor/include/networkit/planarity/LeftRightPlanarityCheck.hpp +113 -0
- package/vendor/include/networkit/randomization/Curveball.hpp +49 -0
- package/vendor/include/networkit/randomization/CurveballGlobalTradeGenerator.hpp +39 -0
- package/vendor/include/networkit/randomization/CurveballUniformTradeGenerator.hpp +39 -0
- package/vendor/include/networkit/randomization/DegreePreservingShuffle.hpp +82 -0
- package/vendor/include/networkit/randomization/EdgeSwitching.hpp +157 -0
- package/vendor/include/networkit/randomization/GlobalCurveball.hpp +69 -0
- package/vendor/include/networkit/randomization/GlobalTradeSequence.hpp +303 -0
- package/vendor/include/networkit/reachability/AllSimplePaths.hpp +122 -0
- package/vendor/include/networkit/reachability/ReachableNodes.hpp +83 -0
- package/vendor/include/networkit/scd/ApproximatePageRank.hpp +51 -0
- package/vendor/include/networkit/scd/CliqueDetect.hpp +55 -0
- package/vendor/include/networkit/scd/CombinedSCD.hpp +51 -0
- package/vendor/include/networkit/scd/GCE.hpp +42 -0
- package/vendor/include/networkit/scd/LFMLocal.hpp +54 -0
- package/vendor/include/networkit/scd/LocalT.hpp +40 -0
- package/vendor/include/networkit/scd/LocalTightnessExpansion.hpp +46 -0
- package/vendor/include/networkit/scd/PageRankNibble.hpp +55 -0
- package/vendor/include/networkit/scd/RandomBFS.hpp +33 -0
- package/vendor/include/networkit/scd/SCDGroundTruthComparison.hpp +121 -0
- package/vendor/include/networkit/scd/SelectiveCommunityDetector.hpp +76 -0
- package/vendor/include/networkit/scd/SetConductance.hpp +47 -0
- package/vendor/include/networkit/scd/TCE.hpp +41 -0
- package/vendor/include/networkit/scd/TwoPhaseL.hpp +40 -0
- package/vendor/include/networkit/scoring/EdgeScoring.hpp +44 -0
- package/vendor/include/networkit/scoring/ModularityScoring.hpp +79 -0
- package/vendor/include/networkit/simulation/EpidemicSimulationSEIR.hpp +59 -0
- package/vendor/include/networkit/sparsification/ChanceCorrectedTriangleScore.hpp +28 -0
- package/vendor/include/networkit/sparsification/ForestFireScore.hpp +34 -0
- package/vendor/include/networkit/sparsification/GlobalThresholdFilter.hpp +40 -0
- package/vendor/include/networkit/sparsification/LocalDegreeScore.hpp +30 -0
- package/vendor/include/networkit/sparsification/LocalFilterScore.hpp +124 -0
- package/vendor/include/networkit/sparsification/LocalSimilarityScore.hpp +63 -0
- package/vendor/include/networkit/sparsification/MultiscaleScore.hpp +38 -0
- package/vendor/include/networkit/sparsification/RandomEdgeScore.hpp +33 -0
- package/vendor/include/networkit/sparsification/RandomNodeEdgeScore.hpp +29 -0
- package/vendor/include/networkit/sparsification/SCANStructuralSimilarityScore.hpp +23 -0
- package/vendor/include/networkit/sparsification/SimmelianOverlapScore.hpp +35 -0
- package/vendor/include/networkit/sparsification/SimmelianScore.hpp +92 -0
- package/vendor/include/networkit/sparsification/Sparsifiers.hpp +166 -0
- package/vendor/include/networkit/structures/Cover.hpp +248 -0
- package/vendor/include/networkit/structures/LocalCommunity.hpp +363 -0
- package/vendor/include/networkit/structures/Partition.hpp +335 -0
- package/vendor/include/networkit/structures/UnionFind.hpp +66 -0
- package/vendor/include/networkit/viz/GraphLayoutAlgorithm.hpp +157 -0
- package/vendor/include/networkit/viz/MaxentStress.hpp +346 -0
- package/vendor/include/networkit/viz/Octree.hpp +428 -0
- package/vendor/include/networkit/viz/PivotMDS.hpp +63 -0
- package/vendor/include/networkit/viz/Point.hpp +415 -0
- package/vendor/include/networkit/viz/PostscriptWriter.hpp +78 -0
- package/vendor/include/tlx/algorithm/exclusive_scan.hpp +56 -0
- package/vendor/include/tlx/algorithm/is_sorted_cmp.hpp +56 -0
- package/vendor/include/tlx/algorithm/merge_advance.hpp +177 -0
- package/vendor/include/tlx/algorithm/merge_combine.hpp +76 -0
- package/vendor/include/tlx/algorithm/multisequence_partition.hpp +346 -0
- package/vendor/include/tlx/algorithm/multisequence_selection.hpp +351 -0
- package/vendor/include/tlx/algorithm/multiway_merge.hpp +1385 -0
- package/vendor/include/tlx/algorithm/multiway_merge_splitting.hpp +257 -0
- package/vendor/include/tlx/algorithm/parallel_multiway_merge.hpp +408 -0
- package/vendor/include/tlx/algorithm/random_bipartition_shuffle.hpp +116 -0
- package/vendor/include/tlx/algorithm.hpp +36 -0
- package/vendor/include/tlx/allocator_base.hpp +100 -0
- package/vendor/include/tlx/backtrace.hpp +54 -0
- package/vendor/include/tlx/cmdline_parser.hpp +498 -0
- package/vendor/include/tlx/container/btree.hpp +3977 -0
- package/vendor/include/tlx/container/btree_map.hpp +634 -0
- package/vendor/include/tlx/container/btree_multimap.hpp +627 -0
- package/vendor/include/tlx/container/btree_multiset.hpp +612 -0
- package/vendor/include/tlx/container/btree_set.hpp +612 -0
- package/vendor/include/tlx/container/d_ary_addressable_int_heap.hpp +416 -0
- package/vendor/include/tlx/container/d_ary_heap.hpp +311 -0
- package/vendor/include/tlx/container/loser_tree.hpp +1009 -0
- package/vendor/include/tlx/container/lru_cache.hpp +319 -0
- package/vendor/include/tlx/container/radix_heap.hpp +735 -0
- package/vendor/include/tlx/container/ring_buffer.hpp +428 -0
- package/vendor/include/tlx/container/simple_vector.hpp +304 -0
- package/vendor/include/tlx/container/splay_tree.hpp +399 -0
- package/vendor/include/tlx/container/string_view.hpp +805 -0
- package/vendor/include/tlx/container.hpp +40 -0
- package/vendor/include/tlx/counting_ptr.hpp +522 -0
- package/vendor/include/tlx/define/attribute_always_inline.hpp +34 -0
- package/vendor/include/tlx/define/attribute_fallthrough.hpp +36 -0
- package/vendor/include/tlx/define/attribute_format_printf.hpp +34 -0
- package/vendor/include/tlx/define/attribute_packed.hpp +34 -0
- package/vendor/include/tlx/define/attribute_warn_unused_result.hpp +34 -0
- package/vendor/include/tlx/define/constexpr.hpp +31 -0
- package/vendor/include/tlx/define/deprecated.hpp +39 -0
- package/vendor/include/tlx/define/endian.hpp +49 -0
- package/vendor/include/tlx/define/likely.hpp +33 -0
- package/vendor/include/tlx/define/visibility_hidden.hpp +34 -0
- package/vendor/include/tlx/define.hpp +36 -0
- package/vendor/include/tlx/delegate.hpp +524 -0
- package/vendor/include/tlx/die/core.hpp +311 -0
- package/vendor/include/tlx/die.hpp +106 -0
- package/vendor/include/tlx/digest/md5.hpp +81 -0
- package/vendor/include/tlx/digest/sha1.hpp +81 -0
- package/vendor/include/tlx/digest/sha256.hpp +81 -0
- package/vendor/include/tlx/digest/sha512.hpp +81 -0
- package/vendor/include/tlx/digest.hpp +30 -0
- package/vendor/include/tlx/logger/all.hpp +33 -0
- package/vendor/include/tlx/logger/array.hpp +43 -0
- package/vendor/include/tlx/logger/core.hpp +287 -0
- package/vendor/include/tlx/logger/deque.hpp +42 -0
- package/vendor/include/tlx/logger/map.hpp +65 -0
- package/vendor/include/tlx/logger/set.hpp +60 -0
- package/vendor/include/tlx/logger/tuple.hpp +66 -0
- package/vendor/include/tlx/logger/unordered_map.hpp +68 -0
- package/vendor/include/tlx/logger/unordered_set.hpp +64 -0
- package/vendor/include/tlx/logger/wrap_unprintable.hpp +75 -0
- package/vendor/include/tlx/logger.hpp +44 -0
- package/vendor/include/tlx/math/abs_diff.hpp +35 -0
- package/vendor/include/tlx/math/aggregate.hpp +231 -0
- package/vendor/include/tlx/math/aggregate_min_max.hpp +116 -0
- package/vendor/include/tlx/math/bswap.hpp +148 -0
- package/vendor/include/tlx/math/bswap_be.hpp +79 -0
- package/vendor/include/tlx/math/bswap_le.hpp +79 -0
- package/vendor/include/tlx/math/clz.hpp +174 -0
- package/vendor/include/tlx/math/ctz.hpp +174 -0
- package/vendor/include/tlx/math/div_ceil.hpp +36 -0
- package/vendor/include/tlx/math/ffs.hpp +123 -0
- package/vendor/include/tlx/math/integer_log2.hpp +189 -0
- package/vendor/include/tlx/math/is_power_of_two.hpp +74 -0
- package/vendor/include/tlx/math/polynomial_regression.hpp +243 -0
- package/vendor/include/tlx/math/popcount.hpp +173 -0
- package/vendor/include/tlx/math/power_to_the.hpp +44 -0
- package/vendor/include/tlx/math/rol.hpp +112 -0
- package/vendor/include/tlx/math/ror.hpp +112 -0
- package/vendor/include/tlx/math/round_to_power_of_two.hpp +121 -0
- package/vendor/include/tlx/math/round_up.hpp +36 -0
- package/vendor/include/tlx/math/sgn.hpp +38 -0
- package/vendor/include/tlx/math.hpp +46 -0
- package/vendor/include/tlx/meta/apply_tuple.hpp +55 -0
- package/vendor/include/tlx/meta/call_for_range.hpp +78 -0
- package/vendor/include/tlx/meta/call_foreach.hpp +60 -0
- package/vendor/include/tlx/meta/call_foreach_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/call_foreach_tuple_with_index.hpp +61 -0
- package/vendor/include/tlx/meta/call_foreach_with_index.hpp +64 -0
- package/vendor/include/tlx/meta/enable_if.hpp +37 -0
- package/vendor/include/tlx/meta/fold_left.hpp +63 -0
- package/vendor/include/tlx/meta/fold_left_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/fold_right.hpp +63 -0
- package/vendor/include/tlx/meta/fold_right_tuple.hpp +60 -0
- package/vendor/include/tlx/meta/function_chain.hpp +197 -0
- package/vendor/include/tlx/meta/function_stack.hpp +189 -0
- package/vendor/include/tlx/meta/has_member.hpp +80 -0
- package/vendor/include/tlx/meta/has_method.hpp +117 -0
- package/vendor/include/tlx/meta/index_sequence.hpp +66 -0
- package/vendor/include/tlx/meta/is_std_array.hpp +40 -0
- package/vendor/include/tlx/meta/is_std_pair.hpp +39 -0
- package/vendor/include/tlx/meta/is_std_tuple.hpp +39 -0
- package/vendor/include/tlx/meta/is_std_vector.hpp +39 -0
- package/vendor/include/tlx/meta/log2.hpp +101 -0
- package/vendor/include/tlx/meta/no_operation.hpp +55 -0
- package/vendor/include/tlx/meta/static_index.hpp +42 -0
- package/vendor/include/tlx/meta/vexpand.hpp +34 -0
- package/vendor/include/tlx/meta/vmap_for_range.hpp +84 -0
- package/vendor/include/tlx/meta/vmap_foreach.hpp +63 -0
- package/vendor/include/tlx/meta/vmap_foreach_tuple.hpp +59 -0
- package/vendor/include/tlx/meta/vmap_foreach_tuple_with_index.hpp +62 -0
- package/vendor/include/tlx/meta/vmap_foreach_with_index.hpp +70 -0
- package/vendor/include/tlx/meta.hpp +55 -0
- package/vendor/include/tlx/multi_timer.hpp +148 -0
- package/vendor/include/tlx/port/setenv.hpp +31 -0
- package/vendor/include/tlx/port.hpp +27 -0
- package/vendor/include/tlx/semaphore.hpp +119 -0
- package/vendor/include/tlx/simple_vector.hpp +20 -0
- package/vendor/include/tlx/siphash.hpp +282 -0
- package/vendor/include/tlx/sort/networks/best.hpp +611 -0
- package/vendor/include/tlx/sort/networks/bose_nelson.hpp +412 -0
- package/vendor/include/tlx/sort/networks/bose_nelson_parameter.hpp +507 -0
- package/vendor/include/tlx/sort/networks/cswap.hpp +60 -0
- package/vendor/include/tlx/sort/parallel_mergesort.hpp +398 -0
- package/vendor/include/tlx/sort/strings/insertion_sort.hpp +232 -0
- package/vendor/include/tlx/sort/strings/multikey_quicksort.hpp +185 -0
- package/vendor/include/tlx/sort/strings/parallel_sample_sort.hpp +1647 -0
- package/vendor/include/tlx/sort/strings/radix_sort.hpp +934 -0
- package/vendor/include/tlx/sort/strings/sample_sort_tools.hpp +756 -0
- package/vendor/include/tlx/sort/strings/string_ptr.hpp +426 -0
- package/vendor/include/tlx/sort/strings/string_set.hpp +800 -0
- package/vendor/include/tlx/sort/strings.hpp +329 -0
- package/vendor/include/tlx/sort/strings_parallel.hpp +325 -0
- package/vendor/include/tlx/sort.hpp +29 -0
- package/vendor/include/tlx/stack_allocator.hpp +226 -0
- package/vendor/include/tlx/string/appendline.hpp +35 -0
- package/vendor/include/tlx/string/base64.hpp +87 -0
- package/vendor/include/tlx/string/bitdump.hpp +139 -0
- package/vendor/include/tlx/string/compare_icase.hpp +42 -0
- package/vendor/include/tlx/string/contains.hpp +36 -0
- package/vendor/include/tlx/string/contains_word.hpp +42 -0
- package/vendor/include/tlx/string/ends_with.hpp +79 -0
- package/vendor/include/tlx/string/equal_icase.hpp +42 -0
- package/vendor/include/tlx/string/erase_all.hpp +70 -0
- package/vendor/include/tlx/string/escape_html.hpp +34 -0
- package/vendor/include/tlx/string/escape_uri.hpp +34 -0
- package/vendor/include/tlx/string/expand_environment_variables.hpp +49 -0
- package/vendor/include/tlx/string/extract_between.hpp +40 -0
- package/vendor/include/tlx/string/format_iec_units.hpp +32 -0
- package/vendor/include/tlx/string/format_si_iec_units.hpp +19 -0
- package/vendor/include/tlx/string/format_si_units.hpp +32 -0
- package/vendor/include/tlx/string/hash_djb2.hpp +87 -0
- package/vendor/include/tlx/string/hash_sdbm.hpp +86 -0
- package/vendor/include/tlx/string/hexdump.hpp +154 -0
- package/vendor/include/tlx/string/index_of.hpp +56 -0
- package/vendor/include/tlx/string/join.hpp +65 -0
- package/vendor/include/tlx/string/join_generic.hpp +89 -0
- package/vendor/include/tlx/string/join_quoted.hpp +46 -0
- package/vendor/include/tlx/string/less_icase.hpp +64 -0
- package/vendor/include/tlx/string/levenshtein.hpp +193 -0
- package/vendor/include/tlx/string/pad.hpp +39 -0
- package/vendor/include/tlx/string/parse_si_iec_units.hpp +46 -0
- package/vendor/include/tlx/string/parse_uri.hpp +66 -0
- package/vendor/include/tlx/string/parse_uri_form_data.hpp +136 -0
- package/vendor/include/tlx/string/replace.hpp +141 -0
- package/vendor/include/tlx/string/split.hpp +170 -0
- package/vendor/include/tlx/string/split_quoted.hpp +49 -0
- package/vendor/include/tlx/string/split_view.hpp +218 -0
- package/vendor/include/tlx/string/split_words.hpp +53 -0
- package/vendor/include/tlx/string/ssprintf.hpp +45 -0
- package/vendor/include/tlx/string/ssprintf_generic.hpp +95 -0
- package/vendor/include/tlx/string/starts_with.hpp +44 -0
- package/vendor/include/tlx/string/to_lower.hpp +47 -0
- package/vendor/include/tlx/string/to_upper.hpp +47 -0
- package/vendor/include/tlx/string/trim.hpp +298 -0
- package/vendor/include/tlx/string/union_words.hpp +33 -0
- package/vendor/include/tlx/string/word_wrap.hpp +35 -0
- package/vendor/include/tlx/string.hpp +68 -0
- package/vendor/include/tlx/thread_barrier_mutex.hpp +109 -0
- package/vendor/include/tlx/thread_barrier_spin.hpp +127 -0
- package/vendor/include/tlx/thread_pool.hpp +151 -0
- package/vendor/include/tlx/timestamp.hpp +23 -0
- package/vendor/include/tlx/unused.hpp +28 -0
- package/vendor/include/tlx/vector_free.hpp +30 -0
- package/vendor/include/tlx/version.hpp +49 -0
- package/vendor/include/ttmath/ttmath.h +2881 -0
- package/vendor/include/ttmath/ttmathbig.h +6111 -0
- package/vendor/include/ttmath/ttmathdec.h +419 -0
- package/vendor/include/ttmath/ttmathint.h +1923 -0
- package/vendor/include/ttmath/ttmathmisc.h +250 -0
- package/vendor/include/ttmath/ttmathobjects.h +812 -0
- package/vendor/include/ttmath/ttmathparser.h +2791 -0
- package/vendor/include/ttmath/ttmaththreads.h +252 -0
- package/vendor/include/ttmath/ttmathtypes.h +707 -0
- package/vendor/include/ttmath/ttmathuint.h +4190 -0
- package/vendor/include/ttmath/ttmathuint_noasm.h +1038 -0
- package/vendor/include/ttmath/ttmathuint_x86.h +1620 -0
- package/vendor/include/ttmath/ttmathuint_x86_64.h +1177 -0
- package/vendor/lib/cmake/tlx/tlx-config.cmake +51 -0
- package/vendor/lib/cmake/tlx/tlx-targets-release.cmake +19 -0
- package/vendor/lib/cmake/tlx/tlx-targets.cmake +106 -0
- package/vendor/lib/cmake/tlx/tlx-version.cmake +11 -0
- package/vendor/lib/libnetworkit.dylib +0 -0
- package/vendor/lib/libtlx.a +0 -0
- package/vendor/lib/pkgconfig/networkit.pc +11 -0
- package/vendor/lib/pkgconfig/tlx.pc +11 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math/popcount.hpp
|
|
3
|
+
*
|
|
4
|
+
* popcount() population count number of one bits - mainly for portability.
|
|
5
|
+
*
|
|
6
|
+
* Part of tlx - http://panthema.net/tlx
|
|
7
|
+
*
|
|
8
|
+
* Copyright (C) 2018 Timo Bingmann <tb@panthema.net>
|
|
9
|
+
*
|
|
10
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
11
|
+
******************************************************************************/
|
|
12
|
+
|
|
13
|
+
#ifndef TLX_MATH_POPCOUNT_HEADER
|
|
14
|
+
#define TLX_MATH_POPCOUNT_HEADER
|
|
15
|
+
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
#include <cstdlib>
|
|
18
|
+
|
|
19
|
+
#ifdef _MSC_VER
|
|
20
|
+
#include <intrin.h>
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
namespace tlx {
|
|
24
|
+
|
|
25
|
+
//! \addtogroup tlx_math
|
|
26
|
+
//! \{
|
|
27
|
+
|
|
28
|
+
/******************************************************************************/
|
|
29
|
+
// popcount() - count one bits
|
|
30
|
+
|
|
31
|
+
//! popcount (count one bits) - generic SWAR implementation
|
|
32
|
+
static inline unsigned popcount_generic8(std::uint8_t x)
|
|
33
|
+
{
|
|
34
|
+
x = x - ((x >> 1) & 0x55);
|
|
35
|
+
x = (x & 0x33) + ((x >> 2) & 0x33);
|
|
36
|
+
return static_cast<std::uint8_t>((x + (x >> 4)) & 0x0F);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//! popcount (count one bits) - generic SWAR implementation
|
|
40
|
+
static inline unsigned popcount_generic16(std::uint16_t x)
|
|
41
|
+
{
|
|
42
|
+
x = x - ((x >> 1) & 0x5555);
|
|
43
|
+
x = (x & 0x3333) + ((x >> 2) & 0x3333);
|
|
44
|
+
return static_cast<std::uint16_t>(((x + (x >> 4)) & 0x0F0F) * 0x0101) >> 8;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
//! popcount (count one bits) -
|
|
48
|
+
//! generic SWAR implementation from https://stackoverflow.com/questions/109023
|
|
49
|
+
static inline unsigned popcount_generic32(std::uint32_t x)
|
|
50
|
+
{
|
|
51
|
+
x = x - ((x >> 1) & 0x55555555);
|
|
52
|
+
x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
|
|
53
|
+
return (((x + (x >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//! popcount (count one bits) - generic SWAR implementation
|
|
57
|
+
static inline unsigned popcount_generic64(std::uint64_t x)
|
|
58
|
+
{
|
|
59
|
+
x = x - ((x >> 1) & 0x5555555555555555);
|
|
60
|
+
x = (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333);
|
|
61
|
+
return (((x + (x >> 4)) & 0x0F0F0F0F0F0F0F0F) * 0x0101010101010101) >> 56;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/******************************************************************************/
|
|
65
|
+
|
|
66
|
+
#if defined(__GNUC__) || defined(__clang__)
|
|
67
|
+
|
|
68
|
+
//! popcount (count one bits)
|
|
69
|
+
static inline unsigned popcount(unsigned i)
|
|
70
|
+
{
|
|
71
|
+
return static_cast<unsigned>(__builtin_popcount(i));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//! popcount (count one bits)
|
|
75
|
+
static inline unsigned popcount(int i)
|
|
76
|
+
{
|
|
77
|
+
return popcount(static_cast<unsigned>(i));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//! popcount (count one bits)
|
|
81
|
+
static inline unsigned popcount(unsigned long i)
|
|
82
|
+
{
|
|
83
|
+
return static_cast<unsigned>(__builtin_popcountl(i));
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//! popcount (count one bits)
|
|
87
|
+
static inline unsigned popcount(long i)
|
|
88
|
+
{
|
|
89
|
+
return popcount(static_cast<unsigned long>(i));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
//! popcount (count one bits)
|
|
93
|
+
static inline unsigned popcount(unsigned long long i)
|
|
94
|
+
{
|
|
95
|
+
return static_cast<unsigned>(__builtin_popcountll(i));
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//! popcount (count one bits)
|
|
99
|
+
static inline unsigned popcount(long long i)
|
|
100
|
+
{
|
|
101
|
+
return popcount(static_cast<unsigned long long>(i));
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
#elif defined(_MSC_VER)
|
|
105
|
+
|
|
106
|
+
//! popcount (count one bits)
|
|
107
|
+
template <typename Integral>
|
|
108
|
+
inline unsigned popcount(Integral i)
|
|
109
|
+
{
|
|
110
|
+
if (sizeof(i) <= sizeof(int))
|
|
111
|
+
return __popcnt(i);
|
|
112
|
+
else
|
|
113
|
+
{
|
|
114
|
+
#if defined(_WIN64)
|
|
115
|
+
return __popcnt64(i);
|
|
116
|
+
#else
|
|
117
|
+
return popcount_generic64(i);
|
|
118
|
+
#endif
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
#else
|
|
123
|
+
|
|
124
|
+
//! popcount (count one bits)
|
|
125
|
+
template <typename Integral>
|
|
126
|
+
inline unsigned popcount(Integral i)
|
|
127
|
+
{
|
|
128
|
+
if (sizeof(i) <= sizeof(std::uint8_t))
|
|
129
|
+
return popcount_generic8(i);
|
|
130
|
+
else if (sizeof(i) <= sizeof(std::uint16_t))
|
|
131
|
+
return popcount_generic16(i);
|
|
132
|
+
else if (sizeof(i) <= sizeof(std::uint32_t))
|
|
133
|
+
return popcount_generic32(i);
|
|
134
|
+
else if (sizeof(i) <= sizeof(std::uint64_t))
|
|
135
|
+
return popcount_generic64(i);
|
|
136
|
+
else
|
|
137
|
+
abort();
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
#endif
|
|
141
|
+
|
|
142
|
+
/******************************************************************************/
|
|
143
|
+
// popcount range
|
|
144
|
+
|
|
145
|
+
static inline size_t popcount(const void* data, size_t size)
|
|
146
|
+
{
|
|
147
|
+
const std::uint8_t* begin = reinterpret_cast<const std::uint8_t*>(data);
|
|
148
|
+
const std::uint8_t* end = begin + size;
|
|
149
|
+
size_t total = 0;
|
|
150
|
+
while (begin + 7 < end)
|
|
151
|
+
{
|
|
152
|
+
total += popcount(*reinterpret_cast<const std::uint64_t*>(begin));
|
|
153
|
+
begin += 8;
|
|
154
|
+
}
|
|
155
|
+
if (begin + 3 < end)
|
|
156
|
+
{
|
|
157
|
+
total += popcount(*reinterpret_cast<const std::uint32_t*>(begin));
|
|
158
|
+
begin += 4;
|
|
159
|
+
}
|
|
160
|
+
while (begin < end)
|
|
161
|
+
{
|
|
162
|
+
total += popcount(*begin++);
|
|
163
|
+
}
|
|
164
|
+
return total;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
//! \}
|
|
168
|
+
|
|
169
|
+
} // namespace tlx
|
|
170
|
+
|
|
171
|
+
#endif // !TLX_MATH_POPCOUNT_HEADER
|
|
172
|
+
|
|
173
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math/power_to_the.hpp
|
|
3
|
+
*
|
|
4
|
+
* power_to_the<D>(x) raises x to the D-th power using log(D) unrolled
|
|
5
|
+
* multiplications.
|
|
6
|
+
*
|
|
7
|
+
* Part of tlx - http://panthema.net/tlx
|
|
8
|
+
*
|
|
9
|
+
* Copyright (C) 2019 Manuel Penschuck <tlx@manuel.jetzt>
|
|
10
|
+
*
|
|
11
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
12
|
+
******************************************************************************/
|
|
13
|
+
|
|
14
|
+
#ifndef TLX_MATH_POWER_TO_THE_HEADER
|
|
15
|
+
#define TLX_MATH_POWER_TO_THE_HEADER
|
|
16
|
+
|
|
17
|
+
#include <tlx/math/div_ceil.hpp>
|
|
18
|
+
|
|
19
|
+
namespace tlx {
|
|
20
|
+
|
|
21
|
+
//! \addtogroup tlx_math
|
|
22
|
+
//! \{
|
|
23
|
+
|
|
24
|
+
/******************************************************************************/
|
|
25
|
+
//! power_to_the<D>(x)
|
|
26
|
+
|
|
27
|
+
//! returns x raised to the power of D using log(D) explicit multiplications.
|
|
28
|
+
template <unsigned D, typename T>
|
|
29
|
+
static constexpr T power_to_the(T x)
|
|
30
|
+
{
|
|
31
|
+
// Compiler optimize two calls to the same recursion into one
|
|
32
|
+
// Tested with GCC 4+, Clang 3+, MSVC 15+
|
|
33
|
+
return D < 1 ? 1 :
|
|
34
|
+
D == 1 ? x :
|
|
35
|
+
power_to_the<D / 2>(x) * power_to_the<div_ceil(D, 2)>(x);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//! \}
|
|
39
|
+
|
|
40
|
+
} // namespace tlx
|
|
41
|
+
|
|
42
|
+
#endif // !TLX_MATH_POWER_TO_THE_HEADER
|
|
43
|
+
|
|
44
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math/rol.hpp
|
|
3
|
+
*
|
|
4
|
+
* rol32() to rotate bits left - mainly for portability.
|
|
5
|
+
*
|
|
6
|
+
* Part of tlx - http://panthema.net/tlx
|
|
7
|
+
*
|
|
8
|
+
* Copyright (C) 2018 Timo Bingmann <tb@panthema.net>
|
|
9
|
+
*
|
|
10
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
11
|
+
******************************************************************************/
|
|
12
|
+
|
|
13
|
+
#ifndef TLX_MATH_ROL_HEADER
|
|
14
|
+
#define TLX_MATH_ROL_HEADER
|
|
15
|
+
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
|
|
18
|
+
#ifdef _MSC_VER
|
|
19
|
+
#include <cstdlib>
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
namespace tlx {
|
|
23
|
+
|
|
24
|
+
//! \addtogroup tlx_math
|
|
25
|
+
//! \{
|
|
26
|
+
|
|
27
|
+
/******************************************************************************/
|
|
28
|
+
// rol32() - rotate bits left in 32-bit integers
|
|
29
|
+
|
|
30
|
+
//! rol32 - generic implementation
|
|
31
|
+
static inline std::uint32_t rol32_generic(const std::uint32_t& x, int i)
|
|
32
|
+
{
|
|
33
|
+
return (x << static_cast<std::uint32_t>(i & 31)) |
|
|
34
|
+
(x >> static_cast<std::uint32_t>((32 - (i & 31)) & 31));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#if (defined(__GNUC__) || defined(__clang__)) && \
|
|
38
|
+
(defined(__i386__) || defined(__x86_64__))
|
|
39
|
+
|
|
40
|
+
//! rol32 - gcc/clang assembler
|
|
41
|
+
static inline std::uint32_t rol32(const std::uint32_t& x, int i)
|
|
42
|
+
{
|
|
43
|
+
std::uint32_t x1 = x;
|
|
44
|
+
asm("roll %%cl,%0" : "=r"(x1) : "0"(x1), "c"(i));
|
|
45
|
+
return x1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#elif defined(_MSC_VER)
|
|
49
|
+
|
|
50
|
+
//! rol32 - MSVC intrinsic
|
|
51
|
+
static inline std::uint32_t rol32(const std::uint32_t& x, int i)
|
|
52
|
+
{
|
|
53
|
+
return _rotl(x, i);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#else
|
|
57
|
+
|
|
58
|
+
//! rol32 - generic
|
|
59
|
+
static inline std::uint32_t rol32(const std::uint32_t& x, int i)
|
|
60
|
+
{
|
|
61
|
+
return rol32_generic(x, i);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#endif
|
|
65
|
+
|
|
66
|
+
/******************************************************************************/
|
|
67
|
+
// rol64() - rotate bits left in 64-bit integers
|
|
68
|
+
|
|
69
|
+
//! rol64 - generic implementation
|
|
70
|
+
static inline std::uint64_t rol64_generic(const std::uint64_t& x, int i)
|
|
71
|
+
{
|
|
72
|
+
return (x << static_cast<std::uint64_t>(i & 63)) |
|
|
73
|
+
(x >> static_cast<std::uint64_t>((64 - (i & 63)) & 63));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
#if (defined(__GNUC__) || defined(__clang__)) && defined(__x86_64__)
|
|
77
|
+
|
|
78
|
+
//! rol64 - gcc/clang assembler
|
|
79
|
+
static inline std::uint64_t rol64(const std::uint64_t& x, int i)
|
|
80
|
+
{
|
|
81
|
+
std::uint64_t x1 = x;
|
|
82
|
+
asm("rolq %%cl,%0" : "=r"(x1) : "0"(x1), "c"(i));
|
|
83
|
+
return x1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#elif defined(_MSC_VER)
|
|
87
|
+
|
|
88
|
+
//! rol64 - MSVC intrinsic
|
|
89
|
+
static inline std::uint64_t rol64(const std::uint64_t& x, int i)
|
|
90
|
+
{
|
|
91
|
+
return _rotl64(x, i);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#else
|
|
95
|
+
|
|
96
|
+
//! rol64 - generic
|
|
97
|
+
static inline std::uint64_t rol64(const std::uint64_t& x, int i)
|
|
98
|
+
{
|
|
99
|
+
return rol64_generic(x, i);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#endif
|
|
103
|
+
|
|
104
|
+
/******************************************************************************/
|
|
105
|
+
|
|
106
|
+
//! \}
|
|
107
|
+
|
|
108
|
+
} // namespace tlx
|
|
109
|
+
|
|
110
|
+
#endif // !TLX_MATH_ROL_HEADER
|
|
111
|
+
|
|
112
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math/ror.hpp
|
|
3
|
+
*
|
|
4
|
+
* ror32() to rotate bits right - mainly for portability.
|
|
5
|
+
*
|
|
6
|
+
* Part of tlx - http://panthema.net/tlx
|
|
7
|
+
*
|
|
8
|
+
* Copyright (C) 2018 Timo Bingmann <tb@panthema.net>
|
|
9
|
+
*
|
|
10
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
11
|
+
******************************************************************************/
|
|
12
|
+
|
|
13
|
+
#ifndef TLX_MATH_ROR_HEADER
|
|
14
|
+
#define TLX_MATH_ROR_HEADER
|
|
15
|
+
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
|
|
18
|
+
#ifdef _MSC_VER
|
|
19
|
+
#include <cstdlib>
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
namespace tlx {
|
|
23
|
+
|
|
24
|
+
//! \addtogroup tlx_math
|
|
25
|
+
//! \{
|
|
26
|
+
|
|
27
|
+
/******************************************************************************/
|
|
28
|
+
// ror32() - rotate bits right in 32-bit integers
|
|
29
|
+
|
|
30
|
+
//! ror32 - generic implementation
|
|
31
|
+
static inline std::uint32_t ror32_generic(const std::uint32_t& x, int i)
|
|
32
|
+
{
|
|
33
|
+
return (x >> static_cast<std::uint32_t>(i & 31)) |
|
|
34
|
+
(x << static_cast<std::uint32_t>((32 - (i & 31)) & 31));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#if (defined(__GNUC__) || defined(__clang__)) && \
|
|
38
|
+
(defined(__i386__) || defined(__x86_64__))
|
|
39
|
+
|
|
40
|
+
//! ror32 - gcc/clang assembler
|
|
41
|
+
static inline std::uint32_t ror32(const std::uint32_t& x, int i)
|
|
42
|
+
{
|
|
43
|
+
std::uint32_t x1 = x;
|
|
44
|
+
asm("rorl %%cl,%0" : "=r"(x1) : "0"(x1), "c"(i));
|
|
45
|
+
return x1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#elif defined(_MSC_VER)
|
|
49
|
+
|
|
50
|
+
//! ror32 - MSVC intrinsic
|
|
51
|
+
static inline std::uint32_t ror32(const std::uint32_t& x, int i)
|
|
52
|
+
{
|
|
53
|
+
return _rotr(x, i);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#else
|
|
57
|
+
|
|
58
|
+
//! ror32 - generic
|
|
59
|
+
static inline std::uint32_t ror32(const std::uint32_t& x, int i)
|
|
60
|
+
{
|
|
61
|
+
return ror32_generic(x, i);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#endif
|
|
65
|
+
|
|
66
|
+
/******************************************************************************/
|
|
67
|
+
// ror64() - rotate bits right in 64-bit integers
|
|
68
|
+
|
|
69
|
+
//! ror64 - generic implementation
|
|
70
|
+
static inline std::uint64_t ror64_generic(const std::uint64_t& x, int i)
|
|
71
|
+
{
|
|
72
|
+
return (x >> static_cast<std::uint64_t>(i & 63)) |
|
|
73
|
+
(x << static_cast<std::uint64_t>((64 - (i & 63)) & 63));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
#if (defined(__GNUC__) || defined(__clang__)) && defined(__x86_64__)
|
|
77
|
+
|
|
78
|
+
//! ror64 - gcc/clang assembler
|
|
79
|
+
static inline std::uint64_t ror64(const std::uint64_t& x, int i)
|
|
80
|
+
{
|
|
81
|
+
std::uint64_t x1 = x;
|
|
82
|
+
asm("rorq %%cl,%0" : "=r"(x1) : "0"(x1), "c"(i));
|
|
83
|
+
return x1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#elif defined(_MSC_VER)
|
|
87
|
+
|
|
88
|
+
//! ror64 - MSVC intrinsic
|
|
89
|
+
static inline std::uint64_t ror64(const std::uint64_t& x, int i)
|
|
90
|
+
{
|
|
91
|
+
return _rotr64(x, i);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#else
|
|
95
|
+
|
|
96
|
+
//! ror64 - generic
|
|
97
|
+
static inline std::uint64_t ror64(const std::uint64_t& x, int i)
|
|
98
|
+
{
|
|
99
|
+
return ror64_generic(x, i);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#endif
|
|
103
|
+
|
|
104
|
+
/******************************************************************************/
|
|
105
|
+
|
|
106
|
+
//! \}
|
|
107
|
+
|
|
108
|
+
} // namespace tlx
|
|
109
|
+
|
|
110
|
+
#endif // !TLX_MATH_ROR_HEADER
|
|
111
|
+
|
|
112
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math/round_to_power_of_two.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2007-2018 Timo Bingmann <tb@panthema.net>
|
|
7
|
+
*
|
|
8
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
+
******************************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef TLX_MATH_ROUND_TO_POWER_OF_TWO_HEADER
|
|
12
|
+
#define TLX_MATH_ROUND_TO_POWER_OF_TWO_HEADER
|
|
13
|
+
|
|
14
|
+
#include <cstddef>
|
|
15
|
+
|
|
16
|
+
namespace tlx {
|
|
17
|
+
|
|
18
|
+
//! \addtogroup tlx_math
|
|
19
|
+
//! \{
|
|
20
|
+
|
|
21
|
+
/******************************************************************************/
|
|
22
|
+
// round_up_to_power_of_two()
|
|
23
|
+
|
|
24
|
+
template <typename Integral>
|
|
25
|
+
static inline Integral round_up_to_power_of_two_template(Integral n)
|
|
26
|
+
{
|
|
27
|
+
--n;
|
|
28
|
+
for (size_t k = 1; k != 8 * sizeof(n); k <<= 1)
|
|
29
|
+
{
|
|
30
|
+
n |= n >> k;
|
|
31
|
+
}
|
|
32
|
+
++n;
|
|
33
|
+
return n;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/******************************************************************************/
|
|
37
|
+
// round_up_to_power_of_two()
|
|
38
|
+
|
|
39
|
+
//! does what it says: round up to next power of two
|
|
40
|
+
static inline int round_up_to_power_of_two(int i)
|
|
41
|
+
{
|
|
42
|
+
return round_up_to_power_of_two_template(i);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//! does what it says: round up to next power of two
|
|
46
|
+
static inline unsigned int round_up_to_power_of_two(unsigned int i)
|
|
47
|
+
{
|
|
48
|
+
return round_up_to_power_of_two_template(i);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//! does what it says: round up to next power of two
|
|
52
|
+
static inline long round_up_to_power_of_two(long i)
|
|
53
|
+
{
|
|
54
|
+
return round_up_to_power_of_two_template(i);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
//! does what it says: round up to next power of two
|
|
58
|
+
static inline unsigned long round_up_to_power_of_two(unsigned long i)
|
|
59
|
+
{
|
|
60
|
+
return round_up_to_power_of_two_template(i);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//! does what it says: round up to next power of two
|
|
64
|
+
static inline long long round_up_to_power_of_two(long long i)
|
|
65
|
+
{
|
|
66
|
+
return round_up_to_power_of_two_template(i);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
//! does what it says: round up to next power of two
|
|
70
|
+
static inline unsigned long long round_up_to_power_of_two(unsigned long long i)
|
|
71
|
+
{
|
|
72
|
+
return round_up_to_power_of_two_template(i);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/******************************************************************************/
|
|
76
|
+
// round_down_to_power_of_two()
|
|
77
|
+
|
|
78
|
+
//! does what it says: round down to next power of two
|
|
79
|
+
static inline int round_down_to_power_of_two(int i)
|
|
80
|
+
{
|
|
81
|
+
return round_up_to_power_of_two(i + 1) >> 1;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
//! does what it says: round down to next power of two
|
|
85
|
+
static inline unsigned int round_down_to_power_of_two(unsigned int i)
|
|
86
|
+
{
|
|
87
|
+
return round_up_to_power_of_two(i + 1) >> 1;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
//! does what it says: round down to next power of two
|
|
91
|
+
static inline long round_down_to_power_of_two(long i)
|
|
92
|
+
{
|
|
93
|
+
return round_up_to_power_of_two(i + 1) >> 1;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//! does what it says: round down to next power of two
|
|
97
|
+
static inline unsigned long round_down_to_power_of_two(unsigned long i)
|
|
98
|
+
{
|
|
99
|
+
return round_up_to_power_of_two(i + 1) >> 1;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
//! does what it says: round down to next power of two
|
|
103
|
+
static inline long long round_down_to_power_of_two(long long i)
|
|
104
|
+
{
|
|
105
|
+
return round_up_to_power_of_two(i + 1) >> 1;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
//! does what it says: round down to next power of two
|
|
109
|
+
static inline unsigned long long round_down_to_power_of_two(
|
|
110
|
+
unsigned long long i)
|
|
111
|
+
{
|
|
112
|
+
return round_up_to_power_of_two(i + 1) >> 1;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
//! \}
|
|
116
|
+
|
|
117
|
+
} // namespace tlx
|
|
118
|
+
|
|
119
|
+
#endif // !TLX_MATH_ROUND_TO_POWER_OF_TWO_HEADER
|
|
120
|
+
|
|
121
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math/round_up.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2019 Timo Bingmann <tb@panthema.net>
|
|
7
|
+
*
|
|
8
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
+
******************************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef TLX_MATH_ROUND_UP_HEADER
|
|
12
|
+
#define TLX_MATH_ROUND_UP_HEADER
|
|
13
|
+
|
|
14
|
+
namespace tlx {
|
|
15
|
+
|
|
16
|
+
//! \addtogroup tlx_math
|
|
17
|
+
//! \{
|
|
18
|
+
|
|
19
|
+
/******************************************************************************/
|
|
20
|
+
// round_up() - round n up to the next multiple of k
|
|
21
|
+
|
|
22
|
+
//! round n up to the next multiple of k, for n and k positive!
|
|
23
|
+
template <typename IntegralN, typename IntegralK>
|
|
24
|
+
static constexpr auto round_up(const IntegralN& n,
|
|
25
|
+
const IntegralK& k) -> decltype(n + k)
|
|
26
|
+
{
|
|
27
|
+
return ((n + k - 1) / k) * k;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//! \}
|
|
31
|
+
|
|
32
|
+
} // namespace tlx
|
|
33
|
+
|
|
34
|
+
#endif // !TLX_MATH_ROUND_UP_HEADER
|
|
35
|
+
|
|
36
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math/sgn.hpp
|
|
3
|
+
*
|
|
4
|
+
* sgn() return the signum (-1, 0, +1) of a value.
|
|
5
|
+
*
|
|
6
|
+
* Part of tlx - http://panthema.net/tlx
|
|
7
|
+
*
|
|
8
|
+
* Copyright (C) 2018 Timo Bingmann <tb@panthema.net>
|
|
9
|
+
*
|
|
10
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
11
|
+
******************************************************************************/
|
|
12
|
+
|
|
13
|
+
#ifndef TLX_MATH_SGN_HEADER
|
|
14
|
+
#define TLX_MATH_SGN_HEADER
|
|
15
|
+
|
|
16
|
+
namespace tlx {
|
|
17
|
+
|
|
18
|
+
//! \addtogroup tlx_math
|
|
19
|
+
//! \{
|
|
20
|
+
|
|
21
|
+
/******************************************************************************/
|
|
22
|
+
//! sgn() - signum
|
|
23
|
+
|
|
24
|
+
//! return the signum (-1, 0, +1) of a value.
|
|
25
|
+
template <typename T>
|
|
26
|
+
int sgn(const T& val)
|
|
27
|
+
{
|
|
28
|
+
// from https://stackoverflow.com/questions/1903954
|
|
29
|
+
return (T(0) < val) - (val < T(0));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//! \}
|
|
33
|
+
|
|
34
|
+
} // namespace tlx
|
|
35
|
+
|
|
36
|
+
#endif // !TLX_MATH_SGN_HEADER
|
|
37
|
+
|
|
38
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/math.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2017 Timo Bingmann <tb@panthema.net>
|
|
7
|
+
*
|
|
8
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
9
|
+
******************************************************************************/
|
|
10
|
+
|
|
11
|
+
#ifndef TLX_MATH_HEADER
|
|
12
|
+
#define TLX_MATH_HEADER
|
|
13
|
+
|
|
14
|
+
//! \defgroup tlx_math Math Functions
|
|
15
|
+
//! Simple math functions
|
|
16
|
+
|
|
17
|
+
/*[[[perl
|
|
18
|
+
foreach (sort glob("tlx/math/"."*.hpp")) {
|
|
19
|
+
print "#include <$_> // NOLINT(misc-include-cleaner)\n"
|
|
20
|
+
}
|
|
21
|
+
]]]*/
|
|
22
|
+
#include <tlx/math/abs_diff.hpp> // NOLINT(misc-include-cleaner)
|
|
23
|
+
#include <tlx/math/aggregate.hpp> // NOLINT(misc-include-cleaner)
|
|
24
|
+
#include <tlx/math/aggregate_min_max.hpp> // NOLINT(misc-include-cleaner)
|
|
25
|
+
#include <tlx/math/bswap.hpp> // NOLINT(misc-include-cleaner)
|
|
26
|
+
#include <tlx/math/bswap_be.hpp> // NOLINT(misc-include-cleaner)
|
|
27
|
+
#include <tlx/math/bswap_le.hpp> // NOLINT(misc-include-cleaner)
|
|
28
|
+
#include <tlx/math/clz.hpp> // NOLINT(misc-include-cleaner)
|
|
29
|
+
#include <tlx/math/ctz.hpp> // NOLINT(misc-include-cleaner)
|
|
30
|
+
#include <tlx/math/div_ceil.hpp> // NOLINT(misc-include-cleaner)
|
|
31
|
+
#include <tlx/math/ffs.hpp> // NOLINT(misc-include-cleaner)
|
|
32
|
+
#include <tlx/math/integer_log2.hpp> // NOLINT(misc-include-cleaner)
|
|
33
|
+
#include <tlx/math/is_power_of_two.hpp> // NOLINT(misc-include-cleaner)
|
|
34
|
+
#include <tlx/math/polynomial_regression.hpp> // NOLINT(misc-include-cleaner)
|
|
35
|
+
#include <tlx/math/popcount.hpp> // NOLINT(misc-include-cleaner)
|
|
36
|
+
#include <tlx/math/power_to_the.hpp> // NOLINT(misc-include-cleaner)
|
|
37
|
+
#include <tlx/math/rol.hpp> // NOLINT(misc-include-cleaner)
|
|
38
|
+
#include <tlx/math/ror.hpp> // NOLINT(misc-include-cleaner)
|
|
39
|
+
#include <tlx/math/round_to_power_of_two.hpp> // NOLINT(misc-include-cleaner)
|
|
40
|
+
#include <tlx/math/round_up.hpp> // NOLINT(misc-include-cleaner)
|
|
41
|
+
#include <tlx/math/sgn.hpp> // NOLINT(misc-include-cleaner)
|
|
42
|
+
// [[[end]]]
|
|
43
|
+
|
|
44
|
+
#endif // !TLX_MATH_HEADER
|
|
45
|
+
|
|
46
|
+
/******************************************************************************/
|