@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,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* BloomFilter.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 08.08.2015
|
|
5
|
+
* Author: Henning
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_AUXILIARY_BLOOM_FILTER_HPP_
|
|
9
|
+
#define NETWORKIT_AUXILIARY_BLOOM_FILTER_HPP_
|
|
10
|
+
|
|
11
|
+
#include <vector>
|
|
12
|
+
|
|
13
|
+
#include <networkit/Globals.hpp>
|
|
14
|
+
#include <networkit/auxiliary/Log.hpp>
|
|
15
|
+
|
|
16
|
+
namespace Aux {
|
|
17
|
+
|
|
18
|
+
using index = NetworKit::index;
|
|
19
|
+
using count = NetworKit::count;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Bloom filter for fast set membership queries for type index with one-sided error (false
|
|
23
|
+
* positives). Uses one hash function instead of many but different random salts instead.
|
|
24
|
+
*/
|
|
25
|
+
class BloomFilter {
|
|
26
|
+
private:
|
|
27
|
+
count numHashes;
|
|
28
|
+
count size;
|
|
29
|
+
std::vector<std::vector<char>> membership;
|
|
30
|
+
std::vector<index> salts;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Hashes @a key with the salt at index @a hfunc (to mimic a different hash function).
|
|
34
|
+
* @param[in] key Key to be hashed.
|
|
35
|
+
* @param[in] hfunc In principle index of a hash function, here index of a salt.
|
|
36
|
+
* @return Hash value of salted key.
|
|
37
|
+
*/
|
|
38
|
+
index hash(index key, index hfunc) const;
|
|
39
|
+
|
|
40
|
+
public:
|
|
41
|
+
/**
|
|
42
|
+
* Constructor. Space complexity: @a numHashes * @a size bytes.
|
|
43
|
+
* @param[in] numHashes Number of different hash functions that should be used.
|
|
44
|
+
* Actually, the implementation uses @a numHashes different random salts instead and one
|
|
45
|
+
* hash function only.
|
|
46
|
+
* @param[in] size Size of each hash array.
|
|
47
|
+
*/
|
|
48
|
+
BloomFilter(count numHashes, count size = 6291469);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Destructor.
|
|
52
|
+
*/
|
|
53
|
+
virtual ~BloomFilter() = default;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Inserts @a key into Bloom filter.
|
|
57
|
+
* @param[in] key Key to be inserted.
|
|
58
|
+
*/
|
|
59
|
+
void insert(index key);
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @param[in] key Key to be queried for set membership.
|
|
63
|
+
* @return True if @a is member, false otherwise.
|
|
64
|
+
*/
|
|
65
|
+
bool isMember(index key) const;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
} // namespace Aux
|
|
69
|
+
|
|
70
|
+
#endif // NETWORKIT_AUXILIARY_BLOOM_FILTER_HPP_
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* BucketPQ.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 02.03.2017
|
|
5
|
+
* Author: Henning
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_AUXILIARY_BUCKET_PQ_HPP_
|
|
9
|
+
#define NETWORKIT_AUXILIARY_BUCKET_PQ_HPP_
|
|
10
|
+
|
|
11
|
+
#include <limits>
|
|
12
|
+
#include <list>
|
|
13
|
+
|
|
14
|
+
#include <networkit/Globals.hpp>
|
|
15
|
+
#include <networkit/auxiliary/PrioQueue.hpp>
|
|
16
|
+
|
|
17
|
+
namespace Aux {
|
|
18
|
+
|
|
19
|
+
using index = NetworKit::index;
|
|
20
|
+
using count = NetworKit::count;
|
|
21
|
+
using Bucket = std::list<index>;
|
|
22
|
+
constexpr int64_t none = std::numeric_limits<int64_t>::max();
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Addressable priority queue for values in the range [0,n) and
|
|
26
|
+
* integer keys (= priorities) in the range [minPrio, maxPrio].
|
|
27
|
+
* minPrio and maxPrio can be positive or negative, respectively with
|
|
28
|
+
* the obvious constraint minPrio <= maxPrio.
|
|
29
|
+
* Amortized constant running time for each operation.
|
|
30
|
+
*/
|
|
31
|
+
class BucketPQ : public PrioQueue<int64_t, index> {
|
|
32
|
+
private:
|
|
33
|
+
std::vector<Bucket> buckets; // the actual buckets
|
|
34
|
+
static Bucket dummyBucket;
|
|
35
|
+
static const Bucket::iterator invalidPtr;
|
|
36
|
+
|
|
37
|
+
struct OptionalIterator {
|
|
38
|
+
bool valid;
|
|
39
|
+
Bucket::iterator iter;
|
|
40
|
+
|
|
41
|
+
void reset() {
|
|
42
|
+
valid = false;
|
|
43
|
+
iter = invalidPtr;
|
|
44
|
+
}
|
|
45
|
+
OptionalIterator() { reset(); }
|
|
46
|
+
OptionalIterator(bool valid, Bucket::iterator iter) : valid(valid), iter(iter) {}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
std::vector<OptionalIterator> nodePtr; // keeps track of node positions
|
|
50
|
+
std::vector<index> myBucket; // keeps track of current bucket for each value
|
|
51
|
+
int64_t currentMinKey; // current min key
|
|
52
|
+
int64_t currentMaxKey; // current max key
|
|
53
|
+
int64_t minAdmissibleKey; // minimum admissible key
|
|
54
|
+
int64_t maxAdmissibleKey; // maximum admissible key
|
|
55
|
+
count numElems; // number of elements stored
|
|
56
|
+
int64_t offset; // offset from minAdmissibleKeys to 0
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Constructor. Not to be used, only here for overriding.
|
|
60
|
+
*/
|
|
61
|
+
BucketPQ(const std::vector<int64_t> &) {}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Constructor. Not to be used, only here for overriding.
|
|
65
|
+
*/
|
|
66
|
+
BucketPQ(uint64_t) {}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Called from various constructors for initializing members.
|
|
70
|
+
*/
|
|
71
|
+
void construct(uint64_t capacity);
|
|
72
|
+
|
|
73
|
+
public:
|
|
74
|
+
/**
|
|
75
|
+
* Builds priority queue from the vector @a keys, values are indices
|
|
76
|
+
* of @a keys.
|
|
77
|
+
* @param[in] keys Vector of keys
|
|
78
|
+
* @param[in] minAdmissibleKey Minimum admissible key
|
|
79
|
+
* @param[in] maxAdmissibleKey Maximum admissible key
|
|
80
|
+
*/
|
|
81
|
+
BucketPQ(const std::vector<int64_t> &keys, int64_t minAdmissibleKey, int64_t maxAdmissibleKey);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Builds priority queue of the specified capacity @a capacity.
|
|
85
|
+
*/
|
|
86
|
+
BucketPQ(uint64_t capacity, int64_t minAdmissibleKey, int64_t maxAdmissibleKey);
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Default destructor
|
|
90
|
+
*/
|
|
91
|
+
~BucketPQ() override = default;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Inserts key-value pair (@key, @value).
|
|
95
|
+
*/
|
|
96
|
+
void insert(int64_t key, index value) override;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Returns the element on top of the PrioQ.
|
|
100
|
+
*/
|
|
101
|
+
std::pair<int64_t, index> getMin();
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Removes the element with minimum key and returns the key-value pair.
|
|
105
|
+
*/
|
|
106
|
+
std::pair<int64_t, index> extractMin() override;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Modifies entry with value @a value.
|
|
110
|
+
* The entry is then set to @a newKey with the same value.
|
|
111
|
+
* If the corresponding key is not present, the element will be inserted.
|
|
112
|
+
*/
|
|
113
|
+
void changeKey(int64_t newKey, index value) override;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @return Number of elements in PQ.
|
|
117
|
+
*/
|
|
118
|
+
uint64_t size() const override;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @return Whether or not the PQ is empty.
|
|
122
|
+
*/
|
|
123
|
+
bool empty() const noexcept override;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* @return Whether or not the PQ contains the given element.
|
|
127
|
+
*/
|
|
128
|
+
bool contains(const index &value) const override;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Removes key-value pair given by value @a val.
|
|
132
|
+
*/
|
|
133
|
+
void remove(const index &val) override;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @return key to given value @val.
|
|
137
|
+
*/
|
|
138
|
+
virtual int64_t getKey(const index &val);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
} /* namespace Aux */
|
|
142
|
+
#endif // NETWORKIT_AUXILIARY_BUCKET_PQ_HPP_
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
#ifndef NETWORKIT_AUXILIARY_ENFORCE_HPP_
|
|
2
|
+
#define NETWORKIT_AUXILIARY_ENFORCE_HPP_
|
|
3
|
+
|
|
4
|
+
#include <cassert>
|
|
5
|
+
#include <stdexcept>
|
|
6
|
+
#include <string>
|
|
7
|
+
|
|
8
|
+
namespace Aux {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Enforces that @a b is true and throws an Exception otherwise.
|
|
12
|
+
*
|
|
13
|
+
* If provided, msg must not be null, otherwise the behavior of this
|
|
14
|
+
* function is undefined.
|
|
15
|
+
*
|
|
16
|
+
* @param b Boolean value whose truthiness should be enforced
|
|
17
|
+
* @param msg Message of the exception
|
|
18
|
+
*/
|
|
19
|
+
template <typename Exception = std::runtime_error>
|
|
20
|
+
inline void enforce(bool b, const char *msg = "") {
|
|
21
|
+
assert(msg && "Message to enforce must not be nullptr");
|
|
22
|
+
if (!b) {
|
|
23
|
+
throw Exception{msg};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Enforces that @a b is true and throws an Exception otherwise.
|
|
29
|
+
*
|
|
30
|
+
* If provided, msg must not be null, otherwise the behavior of this
|
|
31
|
+
* function is undefined.
|
|
32
|
+
*
|
|
33
|
+
* @param b Boolean value whose truthiness should be enforced
|
|
34
|
+
* @param msg Message of the exception
|
|
35
|
+
*/
|
|
36
|
+
template <typename Exception = std::runtime_error>
|
|
37
|
+
inline void enforce(bool b, std::string_view msg) {
|
|
38
|
+
enforce<Exception>(b, msg.data());
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Checks that the provided fstream is opened and throws an exception otherwise.
|
|
43
|
+
*
|
|
44
|
+
* @param stream File stream whose openness should be enforced
|
|
45
|
+
*/
|
|
46
|
+
template <typename Stream>
|
|
47
|
+
inline void enforceOpened(const Stream &stream) {
|
|
48
|
+
enforce(stream.is_open());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* This namespace provides some Types with a static member-function `void enforce(bool)`
|
|
53
|
+
* that may check wether the argument is true and create some kind of failure otherwise.
|
|
54
|
+
*/
|
|
55
|
+
namespace Checkers {
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Checks the truthiness of the given boolean values through asserts.
|
|
59
|
+
*/
|
|
60
|
+
struct Asserter {
|
|
61
|
+
/**
|
|
62
|
+
* Enforces truthiness of the given boolean value @b through asserts.
|
|
63
|
+
*
|
|
64
|
+
* @param b Boolean value whose truthiness should be enforced
|
|
65
|
+
*/
|
|
66
|
+
static void enforce(bool b) {
|
|
67
|
+
assert(b);
|
|
68
|
+
(void)b; // prevent warnings in release-builds
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Enforces truthiness of a given boolean value by throwing an exception in case of violation.
|
|
74
|
+
*/
|
|
75
|
+
struct Enforcer {
|
|
76
|
+
/**
|
|
77
|
+
* Enforces that @a b is true and throws an Exception otherwise.
|
|
78
|
+
*
|
|
79
|
+
* @param b Boolean value whose truthiness should be enforced
|
|
80
|
+
*/
|
|
81
|
+
static void enforce(bool b) { ::Aux::enforce(b); }
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Calls std::terminate if the bool is false.
|
|
86
|
+
*/
|
|
87
|
+
struct Terminator {
|
|
88
|
+
/**
|
|
89
|
+
* Enforces truthiness of the given boolean value @b by terminating in case of violation.
|
|
90
|
+
*
|
|
91
|
+
* @param b Boolean value whose truthiness should be enforced
|
|
92
|
+
*/
|
|
93
|
+
static void enforce(bool b) {
|
|
94
|
+
if (!b) {
|
|
95
|
+
std::terminate();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Won't look at the bool (not even in debug-mode, which is how this differs from Asserter).
|
|
102
|
+
*/
|
|
103
|
+
struct Ignorer {
|
|
104
|
+
/**
|
|
105
|
+
* Ignores the given boolean value and does not enforce anything.
|
|
106
|
+
*
|
|
107
|
+
* Useful for debugging purposes.
|
|
108
|
+
*
|
|
109
|
+
* @param Boolean whose value is ignored
|
|
110
|
+
*/
|
|
111
|
+
static void enforce(bool) {}
|
|
112
|
+
};
|
|
113
|
+
} // namespace Checkers
|
|
114
|
+
|
|
115
|
+
} // namespace Aux
|
|
116
|
+
|
|
117
|
+
#endif // NETWORKIT_AUXILIARY_ENFORCE_HPP_
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#ifndef NETWORKIT_AUXILIARY_FUNCTION_TRAITS_HPP_
|
|
2
|
+
#define NETWORKIT_AUXILIARY_FUNCTION_TRAITS_HPP_
|
|
3
|
+
|
|
4
|
+
#include <tuple>
|
|
5
|
+
#include <type_traits>
|
|
6
|
+
|
|
7
|
+
namespace Aux {
|
|
8
|
+
|
|
9
|
+
// Code taken from https://functionalcpp.wordpress.com/2013/08/05/function-traits/ and slightly
|
|
10
|
+
// modified
|
|
11
|
+
|
|
12
|
+
template <class F>
|
|
13
|
+
struct FunctionTraits;
|
|
14
|
+
|
|
15
|
+
// function pointer
|
|
16
|
+
template <class R, class... Args>
|
|
17
|
+
struct FunctionTraits<R (*)(Args...)> : public FunctionTraits<R(Args...)> {};
|
|
18
|
+
|
|
19
|
+
template <class R, class... Args>
|
|
20
|
+
struct FunctionTraits<R(Args...)> {
|
|
21
|
+
using result_type = R;
|
|
22
|
+
|
|
23
|
+
static constexpr size_t arity = sizeof...(Args);
|
|
24
|
+
|
|
25
|
+
template <size_t N, bool>
|
|
26
|
+
struct arg_impl;
|
|
27
|
+
template <size_t N>
|
|
28
|
+
struct arg_impl<N, false> {};
|
|
29
|
+
template <size_t N>
|
|
30
|
+
struct arg_impl<N, true> {
|
|
31
|
+
using type = typename std::tuple_element<N, std::tuple<Args...>>::type;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
template <size_t N>
|
|
35
|
+
using arg = arg_impl < N,
|
|
36
|
+
N<arity>;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// member function pointer
|
|
40
|
+
template <class C, class R, class... Args>
|
|
41
|
+
struct FunctionTraits<R (C::*)(Args...)> : public FunctionTraits<R(C &, Args...)> {};
|
|
42
|
+
|
|
43
|
+
// const member function pointer
|
|
44
|
+
template <class C, class R, class... Args>
|
|
45
|
+
struct FunctionTraits<R (C::*)(Args...) const> : public FunctionTraits<R(C &, Args...)> {};
|
|
46
|
+
|
|
47
|
+
// member object pointer
|
|
48
|
+
template <class C, class R>
|
|
49
|
+
struct FunctionTraits<R(C::*)> : public FunctionTraits<R(C &)> {};
|
|
50
|
+
|
|
51
|
+
// functor
|
|
52
|
+
template <class F>
|
|
53
|
+
struct FunctionTraits {
|
|
54
|
+
private:
|
|
55
|
+
using call_type = FunctionTraits<decltype(&F::operator())>;
|
|
56
|
+
|
|
57
|
+
public:
|
|
58
|
+
using result_type = typename call_type::result_type;
|
|
59
|
+
|
|
60
|
+
static constexpr size_t arity = call_type::arity - 1;
|
|
61
|
+
|
|
62
|
+
template <size_t N>
|
|
63
|
+
using arg = typename call_type::template arg<N + 1>;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
template <class F>
|
|
67
|
+
struct FunctionTraits<F &> : public FunctionTraits<F> {};
|
|
68
|
+
|
|
69
|
+
template <class F>
|
|
70
|
+
struct FunctionTraits<F &&> : public FunctionTraits<F> {};
|
|
71
|
+
|
|
72
|
+
} // namespace Aux
|
|
73
|
+
|
|
74
|
+
#endif // NETWORKIT_AUXILIARY_FUNCTION_TRAITS_HPP_
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#ifndef NETWORKIT_AUXILIARY_HASH_UTILS_HPP_
|
|
2
|
+
#define NETWORKIT_AUXILIARY_HASH_UTILS_HPP_
|
|
3
|
+
|
|
4
|
+
#include <utility>
|
|
5
|
+
|
|
6
|
+
namespace Aux {
|
|
7
|
+
|
|
8
|
+
template <typename T>
|
|
9
|
+
void hashCombine(std::size_t &seed, T const &v) {
|
|
10
|
+
// The Boost Software License, Version 1.0 applies to this function.
|
|
11
|
+
// See https://www.boost.org/LICENSE_1_0.txt
|
|
12
|
+
// https://www.boost.org/doc/libs/1_75_0/doc/html/hash/reference.html#boost.hash_combine
|
|
13
|
+
seed ^= std::hash<T>()(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
struct PairHash {
|
|
17
|
+
template <typename A, typename B>
|
|
18
|
+
std::size_t operator()(const std::pair<A, B> &pair) const {
|
|
19
|
+
std::size_t seed = 0;
|
|
20
|
+
hashCombine(seed, pair.first);
|
|
21
|
+
hashCombine(seed, pair.second);
|
|
22
|
+
return seed;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
} // namespace Aux
|
|
27
|
+
|
|
28
|
+
#endif // NETWORKIT_AUXILIARY_HASH_UTILS_HPP_
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#ifndef NETWORKIT_AUXILIARY_INCREMENTAL_UNIFORM_RANDOM_SELECTOR_HPP_
|
|
2
|
+
#define NETWORKIT_AUXILIARY_INCREMENTAL_UNIFORM_RANDOM_SELECTOR_HPP_
|
|
3
|
+
|
|
4
|
+
#include <cstddef>
|
|
5
|
+
|
|
6
|
+
#include <networkit/auxiliary/Random.hpp>
|
|
7
|
+
|
|
8
|
+
namespace Aux {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Select uniformly at random from a set of elements
|
|
12
|
+
* that is discovered incrementally. Every time you
|
|
13
|
+
* discover a new element, you tell the selector and
|
|
14
|
+
* it will tell if you should keep the new element or
|
|
15
|
+
* your old element. As more and more elements are
|
|
16
|
+
* discovered, it will be less and less likely that
|
|
17
|
+
* the new element is chosen in order to ensure that
|
|
18
|
+
* the selection is uniformly at random. The process
|
|
19
|
+
* can be reset when a new class of elements is found
|
|
20
|
+
* that shall be used instead.
|
|
21
|
+
*/
|
|
22
|
+
class IncrementalUniformRandomSelector {
|
|
23
|
+
public:
|
|
24
|
+
/**
|
|
25
|
+
* Initialize the random select for one element.
|
|
26
|
+
*/
|
|
27
|
+
IncrementalUniformRandomSelector() : counter(1){};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Add the next element.
|
|
31
|
+
*
|
|
32
|
+
* Note that this must not be called for the first element.
|
|
33
|
+
*
|
|
34
|
+
* @return If the new element shall be accepted/kept.
|
|
35
|
+
*/
|
|
36
|
+
bool addElement() {
|
|
37
|
+
++counter;
|
|
38
|
+
return (Random::real() < 1.0 / static_cast<double>(counter));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Reset the process to one element again.
|
|
43
|
+
*/
|
|
44
|
+
void reset() { counter = 1; }
|
|
45
|
+
|
|
46
|
+
private:
|
|
47
|
+
size_t counter;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
} // namespace Aux
|
|
51
|
+
|
|
52
|
+
#endif // NETWORKIT_AUXILIARY_INCREMENTAL_UNIFORM_RANDOM_SELECTOR_HPP_
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
#ifndef NETWORKIT_AUXILIARY_LOG_HPP_
|
|
2
|
+
#define NETWORKIT_AUXILIARY_LOG_HPP_
|
|
3
|
+
|
|
4
|
+
#include <sstream>
|
|
5
|
+
#include <string>
|
|
6
|
+
#include <string_view>
|
|
7
|
+
|
|
8
|
+
#include <networkit/auxiliary/StringBuilder.hpp>
|
|
9
|
+
|
|
10
|
+
#ifdef _MSC_VER
|
|
11
|
+
#define NETWORKT_PRETTY_FUNCTION __FUNCSIG__
|
|
12
|
+
#else
|
|
13
|
+
#define NETWORKT_PRETTY_FUNCTION __PRETTY_FUNCTION__
|
|
14
|
+
#endif // _MSC_VER
|
|
15
|
+
|
|
16
|
+
/// Logging without format string
|
|
17
|
+
#define LOG_AT(level, ...) \
|
|
18
|
+
::Aux::Log::log({__FILE__, NETWORKT_PRETTY_FUNCTION, __LINE__}, level, __VA_ARGS__)
|
|
19
|
+
#define FATAL(...) LOG_AT(::Aux::Log::LogLevel::FATAL, __VA_ARGS__)
|
|
20
|
+
#define ERROR(...) LOG_AT(::Aux::Log::LogLevel::ERROR, __VA_ARGS__)
|
|
21
|
+
#define WARN(...) LOG_AT(::Aux::Log::LogLevel::WARN, __VA_ARGS__)
|
|
22
|
+
#define INFO(...) LOG_AT(::Aux::Log::LogLevel::INFO, __VA_ARGS__)
|
|
23
|
+
|
|
24
|
+
/// Logging with format string
|
|
25
|
+
#define LOG_ATF(level, ...) \
|
|
26
|
+
::Aux::Log::logF({__FILE__, NETWORKT_PRETTY_FUNCTION, __LINE__}, level, __VA_ARGS__)
|
|
27
|
+
#define FATALF(...) LOG_ATF(::Aux::Log::LogLevel::FATAL, __VA_ARGS__)
|
|
28
|
+
#define ERRORF(...) LOG_ATF(::Aux::Log::LogLevel::ERROR, __VA_ARGS__)
|
|
29
|
+
#define WARNF(...) LOG_ATF(::Aux::Log::LogLevel::WARN, __VA_ARGS__)
|
|
30
|
+
#define INFOF(...) LOG_ATF(::Aux::Log::LogLevel::INFO, __VA_ARGS__)
|
|
31
|
+
|
|
32
|
+
// DEBUG and TRACE are no-ops if NETWORKIT_RELEASE_LOGGING is defined.
|
|
33
|
+
#if defined(NETWORKIT_RELEASE_LOGGING)
|
|
34
|
+
#define NETWORKIT_LOG_DUMMY(...) \
|
|
35
|
+
do { \
|
|
36
|
+
} while (false)
|
|
37
|
+
#define DEBUG(...) NETWORKIT_LOG_DUMMY(__VA_ARGS__)
|
|
38
|
+
#define DEBUGF(...) NETWORKIT_LOG_DUMMY(__VA_ARGS__)
|
|
39
|
+
#define TRACE(...) NETWORKIT_LOG_DUMMY(__VA_ARGS__)
|
|
40
|
+
#define TRACEF(...) NETWORKIT_LOG_DUMMY(__VA_ARGS__)
|
|
41
|
+
#define TRACEPOINT NETWORKIT_LOG_DUMMY()
|
|
42
|
+
#else
|
|
43
|
+
#define DEBUG(...) LOG_AT(::Aux::Log::LogLevel::DEBUG, __VA_ARGS__)
|
|
44
|
+
#define TRACE(...) LOG_AT(::Aux::Log::LogLevel::TRACE, __VA_ARGS__)
|
|
45
|
+
|
|
46
|
+
#define DEBUGF(...) LOG_ATF(::Aux::Log::LogLevel::DEBUG, __VA_ARGS__)
|
|
47
|
+
#define TRACEF(...) LOG_ATF(::Aux::Log::LogLevel::TRACE, __VA_ARGS__)
|
|
48
|
+
|
|
49
|
+
#define TRACEPOINT LOG_AT(::Aux::Log::LogLevel::TRACE, "tracepoint")
|
|
50
|
+
#endif // defined(NETWORKIT_RELEASE_LOGGING)
|
|
51
|
+
|
|
52
|
+
namespace Aux {
|
|
53
|
+
namespace Log {
|
|
54
|
+
|
|
55
|
+
struct Location {
|
|
56
|
+
const char *file;
|
|
57
|
+
const char *function;
|
|
58
|
+
const int line;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
enum class LogLevel {
|
|
62
|
+
TRACE,
|
|
63
|
+
DEBUG,
|
|
64
|
+
INFO,
|
|
65
|
+
WARN,
|
|
66
|
+
ERROR,
|
|
67
|
+
FATAL,
|
|
68
|
+
QUIET, // Emits no log messages at all.
|
|
69
|
+
trace = TRACE, // this + following added for backwards compatibility
|
|
70
|
+
debug = DEBUG,
|
|
71
|
+
info = INFO,
|
|
72
|
+
warn = WARN,
|
|
73
|
+
error = ERROR,
|
|
74
|
+
fatal = FATAL,
|
|
75
|
+
quiet = QUIET
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Accept loglevel as string and set.
|
|
80
|
+
* @param logLevel as string
|
|
81
|
+
*/
|
|
82
|
+
void setLogLevel(std::string_view logLevel);
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @return current loglevel as string
|
|
86
|
+
*/
|
|
87
|
+
std::string getLogLevel();
|
|
88
|
+
|
|
89
|
+
namespace Impl {
|
|
90
|
+
void log(const Location &loc, LogLevel p, std::string_view msg);
|
|
91
|
+
} // namespace Impl
|
|
92
|
+
|
|
93
|
+
///! Returns true iff logging at the provided level is currently activated
|
|
94
|
+
bool isLogLevelEnabled(LogLevel p) noexcept;
|
|
95
|
+
|
|
96
|
+
template <typename... T>
|
|
97
|
+
void log(const Location &loc, LogLevel p, const T &...args) {
|
|
98
|
+
if (!isLogLevelEnabled(p))
|
|
99
|
+
return;
|
|
100
|
+
|
|
101
|
+
std::stringstream stream;
|
|
102
|
+
printToStream(stream, args...);
|
|
103
|
+
Impl::log(loc, p, stream.str());
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
template <typename... T>
|
|
107
|
+
void logF(const Location &loc, LogLevel p, std::string_view format, const T &...args) {
|
|
108
|
+
if (!isLogLevelEnabled(p))
|
|
109
|
+
return;
|
|
110
|
+
|
|
111
|
+
std::stringstream stream;
|
|
112
|
+
printToStreamF(stream, format, args...);
|
|
113
|
+
Impl::log(loc, p, stream.str());
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
} // namespace Log
|
|
117
|
+
} // namespace Aux
|
|
118
|
+
|
|
119
|
+
#endif // NETWORKIT_AUXILIARY_LOG_HPP_
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MissingMath.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 21.03.2013
|
|
5
|
+
* Author: cls
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_AUXILIARY_MISSING_MATH_HPP_
|
|
9
|
+
#define NETWORKIT_AUXILIARY_MISSING_MATH_HPP_
|
|
10
|
+
|
|
11
|
+
#include <cassert>
|
|
12
|
+
#include <cinttypes>
|
|
13
|
+
#include <cmath>
|
|
14
|
+
#include <stdexcept>
|
|
15
|
+
|
|
16
|
+
namespace Aux {
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Math functions not provided by the standard library.
|
|
20
|
+
*/
|
|
21
|
+
namespace MissingMath {
|
|
22
|
+
|
|
23
|
+
inline int64_t binomial(int64_t n, int64_t k) {
|
|
24
|
+
if (k == 0)
|
|
25
|
+
return 1;
|
|
26
|
+
if (2 * k > n)
|
|
27
|
+
return binomial(n, n - k);
|
|
28
|
+
|
|
29
|
+
int64_t b = n - k + 1;
|
|
30
|
+
for (int64_t i = 2; i <= k; ++i) {
|
|
31
|
+
b = b * (n - k + i);
|
|
32
|
+
b = b / i;
|
|
33
|
+
}
|
|
34
|
+
return b;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
inline double log_b(double x, double b) {
|
|
38
|
+
if (x == 0) {
|
|
39
|
+
throw std::domain_error("log(0) is undefined");
|
|
40
|
+
}
|
|
41
|
+
assert(std::log(b) != 0);
|
|
42
|
+
return std::log(x) / std::log(b);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
} /* namespace MissingMath */
|
|
46
|
+
|
|
47
|
+
} /* namespace Aux */
|
|
48
|
+
#endif // NETWORKIT_AUXILIARY_MISSING_MATH_HPP_
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Multiprecision.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 21.03.2013
|
|
5
|
+
* Author: cls
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef NETWORKIT_AUXILIARY_MULTIPRECISION_HPP_
|
|
9
|
+
#define NETWORKIT_AUXILIARY_MULTIPRECISION_HPP_
|
|
10
|
+
|
|
11
|
+
#include <ttmath/ttmath.h>
|
|
12
|
+
|
|
13
|
+
namespace NetworKit {
|
|
14
|
+
using bigfloat = ttmath::Big<TTMATH_BITS(64), TTMATH_BITS(64)>; ///< big floating point number
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#endif // NETWORKIT_AUXILIARY_MULTIPRECISION_HPP_
|