@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,311 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/die/core.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 2016-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_DIE_CORE_HEADER
|
|
12
|
+
#define TLX_DIE_CORE_HEADER
|
|
13
|
+
|
|
14
|
+
#include <cstring>
|
|
15
|
+
#include <iomanip> // NOLINT(misc-include-cleaner)
|
|
16
|
+
#include <sstream> // NOLINT(misc-include-cleaner)
|
|
17
|
+
#include <stdexcept>
|
|
18
|
+
#include <string>
|
|
19
|
+
|
|
20
|
+
namespace tlx {
|
|
21
|
+
|
|
22
|
+
/******************************************************************************/
|
|
23
|
+
// die macros
|
|
24
|
+
|
|
25
|
+
//! die with message - either throw an exception or die via std::terminate()
|
|
26
|
+
void die_with_message(const std::string& msg);
|
|
27
|
+
|
|
28
|
+
//! die with message - either throw an exception or die via std::terminate()
|
|
29
|
+
void die_with_message(const char* msg, const char* file, size_t line);
|
|
30
|
+
|
|
31
|
+
//! die with message - either throw an exception or die via std::terminate()
|
|
32
|
+
void die_with_message(const std::string& msg, const char* file, size_t line);
|
|
33
|
+
|
|
34
|
+
//! Instead of std::terminate(), throw the output the message via an exception.
|
|
35
|
+
#define tlx_die_with_sstream(msg) \
|
|
36
|
+
do \
|
|
37
|
+
{ \
|
|
38
|
+
std::ostringstream oss__; \
|
|
39
|
+
oss__ << msg << " @ " << __FILE__ << ':' << __LINE__; \
|
|
40
|
+
::tlx::die_with_message(oss__.str()); \
|
|
41
|
+
std::terminate(); /* tell compiler this never returns */ \
|
|
42
|
+
} while (false)
|
|
43
|
+
|
|
44
|
+
//! Instead of std::terminate(), throw the output the message via an exception.
|
|
45
|
+
#define tlx_die(msg) \
|
|
46
|
+
do \
|
|
47
|
+
{ \
|
|
48
|
+
tlx_die_with_sstream("DIE: " << msg); \
|
|
49
|
+
} while (false)
|
|
50
|
+
|
|
51
|
+
//! Exception thrown by die_with_message() if
|
|
52
|
+
class DieException : public std::runtime_error
|
|
53
|
+
{
|
|
54
|
+
public:
|
|
55
|
+
explicit DieException(const std::string& message);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
//! Switch between dying via std::terminate() and throwing an exception.
|
|
59
|
+
//! Alternatively define the macro TLX_DIE_WITH_EXCEPTION=1
|
|
60
|
+
bool set_die_with_exception(bool b);
|
|
61
|
+
|
|
62
|
+
/******************************************************************************/
|
|
63
|
+
// die_unless() and die_if()
|
|
64
|
+
|
|
65
|
+
//! Check condition X and die miserably if false. Same as assert() except this
|
|
66
|
+
//! is also active in Release mode.
|
|
67
|
+
#define tlx_die_unless(X) \
|
|
68
|
+
do \
|
|
69
|
+
{ \
|
|
70
|
+
if (!(X)) /* NOLINT(readability-simplify-boolean-expr) */ \
|
|
71
|
+
{ \
|
|
72
|
+
::tlx::die_with_message("DIE: Assertion \"" #X "\" failed!", \
|
|
73
|
+
__FILE__, __LINE__); \
|
|
74
|
+
} \
|
|
75
|
+
} while (false)
|
|
76
|
+
|
|
77
|
+
//! Check condition X and die miserably if true. Opposite of assert() except
|
|
78
|
+
//! this is also active in Release mode.
|
|
79
|
+
#define tlx_die_if(X) \
|
|
80
|
+
do \
|
|
81
|
+
{ \
|
|
82
|
+
if (X) \
|
|
83
|
+
{ \
|
|
84
|
+
::tlx::die_with_message("DIE: Assertion \"" #X "\" succeeded!", \
|
|
85
|
+
__FILE__, __LINE__); \
|
|
86
|
+
} \
|
|
87
|
+
} while (false)
|
|
88
|
+
|
|
89
|
+
//! Check condition X and die miserably if false. Same as tlx_die_unless()
|
|
90
|
+
//! except the user additionally passes a message.
|
|
91
|
+
#define tlx_die_verbose_unless(X, msg) \
|
|
92
|
+
do \
|
|
93
|
+
{ \
|
|
94
|
+
if (!(X)) /* NOLINT(readability-simplify-boolean-expr) */ \
|
|
95
|
+
{ \
|
|
96
|
+
tlx_die_with_sstream("DIE: Assertion \"" #X "\" failed!\n" \
|
|
97
|
+
<< msg << '\n'); \
|
|
98
|
+
} \
|
|
99
|
+
} while (false)
|
|
100
|
+
|
|
101
|
+
//! Check condition X and die miserably if false. Same as tlx_die_if()
|
|
102
|
+
//! except the user additionally passes a message.
|
|
103
|
+
#define tlx_die_verbose_if(X, msg) \
|
|
104
|
+
do \
|
|
105
|
+
{ \
|
|
106
|
+
if ((X)) \
|
|
107
|
+
{ \
|
|
108
|
+
tlx_die_with_sstream("DIE: Assertion \"" #X "\" succeeded!\n" \
|
|
109
|
+
<< msg << '\n'); \
|
|
110
|
+
} \
|
|
111
|
+
} while (false)
|
|
112
|
+
|
|
113
|
+
/******************************************************************************/
|
|
114
|
+
// die_unequal()
|
|
115
|
+
|
|
116
|
+
//! helper method to compare two values in die_unequal()
|
|
117
|
+
template <typename TypeA, typename TypeB>
|
|
118
|
+
inline bool die_equal_compare(TypeA a, TypeB b)
|
|
119
|
+
{
|
|
120
|
+
return a == b;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
template <>
|
|
124
|
+
inline bool die_equal_compare(const char* a, const char* b)
|
|
125
|
+
{
|
|
126
|
+
// compare string contents
|
|
127
|
+
return std::strcmp(a, b) == 0;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
template <>
|
|
131
|
+
inline bool die_equal_compare(float a, float b)
|
|
132
|
+
{
|
|
133
|
+
// special case for NAN
|
|
134
|
+
return a != a ? b != b : a == b;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
template <>
|
|
138
|
+
inline bool die_equal_compare(double a, double b)
|
|
139
|
+
{
|
|
140
|
+
// special case for NAN
|
|
141
|
+
return a != a ? b != b : a == b;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
//! Check that X == Y or die miserably, but output the values of X and Y for
|
|
145
|
+
//! better debugging.
|
|
146
|
+
#define tlx_die_unequal(X, Y) \
|
|
147
|
+
do \
|
|
148
|
+
{ \
|
|
149
|
+
auto x__ = (X); /* NOLINT */ \
|
|
150
|
+
auto y__ = (Y); /* NOLINT */ \
|
|
151
|
+
if (!::tlx::die_equal_compare(x__, y__)) \
|
|
152
|
+
{ \
|
|
153
|
+
tlx_die_with_sstream("DIE-UNEQUAL: " #X " != " #Y " : " \
|
|
154
|
+
"\"" \
|
|
155
|
+
<< x__ << "\" != \"" << y__ << "\""); \
|
|
156
|
+
} \
|
|
157
|
+
} while (false)
|
|
158
|
+
|
|
159
|
+
//! Check that X == Y or die miserably, but output the values of X and Y for
|
|
160
|
+
//! better debugging. Only active if NDEBUG is not defined.
|
|
161
|
+
#ifdef NDEBUG
|
|
162
|
+
#define tlx_assert_equal(X, Y)
|
|
163
|
+
#else
|
|
164
|
+
#define tlx_assert_equal(X, Y) die_unequal(X, Y)
|
|
165
|
+
#endif
|
|
166
|
+
|
|
167
|
+
//! Check that X == Y or die miserably, but output the values of X and Y for
|
|
168
|
+
//! better debugging. Same as tlx_die_unequal() except the user additionally
|
|
169
|
+
//! pass a message.
|
|
170
|
+
#define tlx_die_verbose_unequal(X, Y, msg) \
|
|
171
|
+
do \
|
|
172
|
+
{ \
|
|
173
|
+
auto x__ = (X); /* NOLINT */ \
|
|
174
|
+
auto y__ = (Y); /* NOLINT */ \
|
|
175
|
+
if (!::tlx::die_equal_compare(x__, y__)) \
|
|
176
|
+
{ \
|
|
177
|
+
tlx_die_with_sstream("DIE-UNEQUAL: " #X " != " #Y " : " \
|
|
178
|
+
"\"" \
|
|
179
|
+
<< x__ << "\" != \"" << y__ << "\"\n" \
|
|
180
|
+
<< msg << '\n'); \
|
|
181
|
+
} \
|
|
182
|
+
} while (false)
|
|
183
|
+
|
|
184
|
+
/******************************************************************************/
|
|
185
|
+
// die_unequal_eps()
|
|
186
|
+
|
|
187
|
+
//! simple replacement for std::abs
|
|
188
|
+
template <typename Type>
|
|
189
|
+
inline Type die_unequal_eps_abs(const Type& t)
|
|
190
|
+
{
|
|
191
|
+
return t < 0 ? -t : t;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
//! helper method to compare two values in die_unequal_eps()
|
|
195
|
+
template <typename TypeA, typename TypeB>
|
|
196
|
+
inline bool die_equal_eps_compare(TypeA x, TypeB y, double eps)
|
|
197
|
+
{
|
|
198
|
+
// special case for NAN
|
|
199
|
+
return x != x ? y != y : die_unequal_eps_abs(x - y) <= eps;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
//! Check that ABS(X - Y) <= eps or die miserably, but output the values of X
|
|
203
|
+
//! and Y for better debugging.
|
|
204
|
+
#define tlx_die_unequal_eps(X, Y, eps) \
|
|
205
|
+
do \
|
|
206
|
+
{ \
|
|
207
|
+
auto x__ = (X); /* NOLINT */ \
|
|
208
|
+
auto y__ = (Y); /* NOLINT */ \
|
|
209
|
+
if (!::tlx::die_equal_eps_compare(x__, y__, eps)) \
|
|
210
|
+
{ \
|
|
211
|
+
tlx_die("DIE-UNEQUAL-EPS: " #X " != " #Y " : " \
|
|
212
|
+
<< std::setprecision(18) << "\"" << x__ << "\" != \"" \
|
|
213
|
+
<< y__ << "\""); \
|
|
214
|
+
} \
|
|
215
|
+
} while (false)
|
|
216
|
+
|
|
217
|
+
//! Check that ABS(X - Y) <= eps or die miserably, but output the values of X
|
|
218
|
+
//! and Y for better debugging. Same as tlx_die_unequal_eps() except the user
|
|
219
|
+
//! additionally passes a message.
|
|
220
|
+
#define tlx_die_verbose_unequal_eps(X, Y, eps, msg) \
|
|
221
|
+
do \
|
|
222
|
+
{ \
|
|
223
|
+
auto x__ = (X); /* NOLINT */ \
|
|
224
|
+
auto y__ = (Y); /* NOLINT */ \
|
|
225
|
+
if (!::tlx::die_equal_eps_compare(x__, y__, eps)) \
|
|
226
|
+
{ \
|
|
227
|
+
tlx_die("DIE-UNEQUAL-EPS: " #X " != " #Y " : " \
|
|
228
|
+
<< std::setprecision(18) << "\"" << x__ << "\" != \"" \
|
|
229
|
+
<< y__ << "\"\n" \
|
|
230
|
+
<< msg << '\n'); \
|
|
231
|
+
} \
|
|
232
|
+
} while (false)
|
|
233
|
+
|
|
234
|
+
//! Check that ABS(X - Y) <= 0.000001 or die miserably, but output the values of
|
|
235
|
+
//! X and Y for better debugging.
|
|
236
|
+
#define tlx_die_unequal_eps6(X, Y) die_unequal_eps(X, Y, 1e-6)
|
|
237
|
+
|
|
238
|
+
//! Check that ABS(X - Y) <= 0.000001 or die miserably, but output the values of
|
|
239
|
+
//! X and Y for better debugging. Same as tlx_die_unequal_eps6() except the user
|
|
240
|
+
//! additionally passes a message.
|
|
241
|
+
#define tlx_die_verbose_unequal_eps6(X, Y, msg) \
|
|
242
|
+
die_verbose_unequal_eps(X, Y, 1e-6, msg)
|
|
243
|
+
|
|
244
|
+
/******************************************************************************/
|
|
245
|
+
// die_equal()
|
|
246
|
+
|
|
247
|
+
//! Die miserably if X == Y, but first output the values of X and Y for better
|
|
248
|
+
//! debugging.
|
|
249
|
+
#define tlx_die_equal(X, Y) \
|
|
250
|
+
do \
|
|
251
|
+
{ \
|
|
252
|
+
auto x__ = (X); /* NOLINT */ \
|
|
253
|
+
auto y__ = (Y); /* NOLINT */ \
|
|
254
|
+
if (::tlx::die_equal_compare(x__, y__)) \
|
|
255
|
+
{ \
|
|
256
|
+
tlx_die_with_sstream("DIE-EQUAL: " #X " == " #Y " : " \
|
|
257
|
+
"\"" \
|
|
258
|
+
<< x__ << "\" == \"" << y__ << "\""); \
|
|
259
|
+
} \
|
|
260
|
+
} while (false)
|
|
261
|
+
|
|
262
|
+
//! Die miserably if X == Y, but first output the values of X and Y for better
|
|
263
|
+
//! debugging. Only active if NDEBUG is not defined.
|
|
264
|
+
#ifdef NDEBUG
|
|
265
|
+
#define tlx_assert_unequal(X, Y)
|
|
266
|
+
#else
|
|
267
|
+
#define tlx_assert_unequal(X, Y) die_equal(X, Y)
|
|
268
|
+
#endif
|
|
269
|
+
|
|
270
|
+
//! Die miserably if X == Y, but first output the values of X and Y for better
|
|
271
|
+
//! debugging. Same as tlx_die_equal() except the user additionally passes a
|
|
272
|
+
//! message.
|
|
273
|
+
#define tlx_die_verbose_equal(X, Y, msg) \
|
|
274
|
+
do \
|
|
275
|
+
{ \
|
|
276
|
+
auto x__ = (X); /* NOLINT */ \
|
|
277
|
+
auto y__ = (Y); /* NOLINT */ \
|
|
278
|
+
if (::tlx::die_equal_compare(x__, y__)) \
|
|
279
|
+
{ \
|
|
280
|
+
tlx_die_with_sstream("DIE-EQUAL: " #X " == " #Y " : " \
|
|
281
|
+
"\"" \
|
|
282
|
+
<< x__ << "\" == \"" << y__ << "\"\n" \
|
|
283
|
+
<< msg << '\n'); \
|
|
284
|
+
} \
|
|
285
|
+
} while (false)
|
|
286
|
+
|
|
287
|
+
/******************************************************************************/
|
|
288
|
+
// die_unless_throws()
|
|
289
|
+
|
|
290
|
+
//! Define to check that [code] throws and exception of given type
|
|
291
|
+
#define tlx_die_unless_throws(code, exception_type) \
|
|
292
|
+
do \
|
|
293
|
+
{ \
|
|
294
|
+
try \
|
|
295
|
+
{ \
|
|
296
|
+
code; \
|
|
297
|
+
} \
|
|
298
|
+
catch (const exception_type&) \
|
|
299
|
+
{ \
|
|
300
|
+
break; \
|
|
301
|
+
} \
|
|
302
|
+
::tlx::die_with_message("DIE-UNLESS-THROWS: " #code \
|
|
303
|
+
" - NO EXCEPTION " #exception_type, \
|
|
304
|
+
__FILE__, __LINE__); \
|
|
305
|
+
} while (false)
|
|
306
|
+
|
|
307
|
+
} // namespace tlx
|
|
308
|
+
|
|
309
|
+
#endif // !TLX_DIE_CORE_HEADER
|
|
310
|
+
|
|
311
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/die.hpp
|
|
3
|
+
*
|
|
4
|
+
* Part of tlx - http://panthema.net/tlx
|
|
5
|
+
*
|
|
6
|
+
* Copyright (C) 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_DIE_HEADER
|
|
12
|
+
#define TLX_DIE_HEADER
|
|
13
|
+
|
|
14
|
+
#include <tlx/die/core.hpp>
|
|
15
|
+
|
|
16
|
+
namespace tlx {
|
|
17
|
+
|
|
18
|
+
/******************************************************************************/
|
|
19
|
+
// die macros
|
|
20
|
+
|
|
21
|
+
//! Instead of std::terminate(), throw the output the message via an exception.
|
|
22
|
+
#define die(msg) tlx_die(msg)
|
|
23
|
+
|
|
24
|
+
//! Check condition X and die miserably if false. Same as assert() except this
|
|
25
|
+
//! is also active in Release mode.
|
|
26
|
+
#define die_unless(X) tlx_die_unless(X)
|
|
27
|
+
|
|
28
|
+
//! Check condition X and die miserably if true. Opposite of assert() except
|
|
29
|
+
//! this is also active in Release mode.
|
|
30
|
+
#define die_if(X) tlx_die_if(X)
|
|
31
|
+
|
|
32
|
+
//! Check condition X and die miserably if false. Same as die_unless() except
|
|
33
|
+
//! the user additionally passes a message.
|
|
34
|
+
#define die_verbose_unless(X, msg) tlx_die_verbose_unless(X, msg)
|
|
35
|
+
|
|
36
|
+
//! Check condition X and die miserably if false. Same as die_if() except the
|
|
37
|
+
//! the user additionally passes a message.
|
|
38
|
+
#define die_verbose_if(X, msg) tlx_die_verbose_if(X, msg)
|
|
39
|
+
|
|
40
|
+
/******************************************************************************/
|
|
41
|
+
// die_unequal()
|
|
42
|
+
|
|
43
|
+
//! Check that X == Y or die miserably, but output the values of X and Y for
|
|
44
|
+
//! better debugging.
|
|
45
|
+
#define die_unequal(X, Y) tlx_die_unequal(X, Y)
|
|
46
|
+
|
|
47
|
+
//! Check that X == Y or die miserably, but output the values of X and Y for
|
|
48
|
+
//! better debugging. Only active if NDEBUG is not defined.
|
|
49
|
+
#define assert_equal(X, Y) tlx_assert_equal(X, Y)
|
|
50
|
+
|
|
51
|
+
//! Check that X == Y or die miserably, but output the values of X and Y for
|
|
52
|
+
//! better debugging. Same as die_unequal() except the user additionally passes
|
|
53
|
+
//! a message.
|
|
54
|
+
#define die_verbose_unequal(X, Y, msg) tlx_die_verbose_unequal(X, Y, msg)
|
|
55
|
+
|
|
56
|
+
/******************************************************************************/
|
|
57
|
+
// die_unequal_eps()
|
|
58
|
+
|
|
59
|
+
//! Check that ABS(X - Y) <= eps or die miserably, but output the values of X
|
|
60
|
+
//! and Y for better debugging.
|
|
61
|
+
#define die_unequal_eps(X, Y, eps) tlx_die_unequal_eps(X, Y, eps)
|
|
62
|
+
|
|
63
|
+
//! Check that ABS(X - Y) <= eps or die miserably, but output the values of X
|
|
64
|
+
//! and Y for better debugging. Same as die_unequal_eps() except the user
|
|
65
|
+
//! additionally passes a message.
|
|
66
|
+
#define die_verbose_unequal_eps(X, Y, eps, msg) \
|
|
67
|
+
tlx_die_verbose_unequal_eps(X, Y, eps, msg)
|
|
68
|
+
|
|
69
|
+
//! Check that ABS(X - Y) <= 0.000001 or die miserably, but output the values of
|
|
70
|
+
//! X and Y for better debugging.
|
|
71
|
+
#define die_unequal_eps6(X, Y) tlx_die_unequal_eps6(X, Y)
|
|
72
|
+
|
|
73
|
+
//! Check that ABS(X - Y) <= 0.000001 or die miserably, but output the values of
|
|
74
|
+
//! X and Y for better debugging. Same as die_unequal_eps6() except the user
|
|
75
|
+
//! additionally passes a message.
|
|
76
|
+
#define die_verbose_unequal_eps6(X, Y, msg) \
|
|
77
|
+
tlx_die_verbose_unequal_eps6(X, Y, msg)
|
|
78
|
+
|
|
79
|
+
/******************************************************************************/
|
|
80
|
+
// die_equal()
|
|
81
|
+
|
|
82
|
+
//! Die miserably if X == Y, but first output the values of X and Y for better
|
|
83
|
+
//! debugging.
|
|
84
|
+
#define die_equal(X, Y) tlx_die_equal(X, Y)
|
|
85
|
+
|
|
86
|
+
//! Die miserably if X == Y, but first output the values of X and Y for better
|
|
87
|
+
//! debugging. Only active if NDEBUG is not defined.
|
|
88
|
+
#define assert_unequal(X, Y) tlx_assert_unequal(X, Y)
|
|
89
|
+
|
|
90
|
+
//! Die miserably if X == Y, but first output the values of X and Y for better
|
|
91
|
+
//! debugging. Same as die_equal() except the user additionally passes a
|
|
92
|
+
//! message.
|
|
93
|
+
#define die_verbose_equal(X, Y, msg) tlx_die_verbose_equal(X, Y, msg)
|
|
94
|
+
|
|
95
|
+
/******************************************************************************/
|
|
96
|
+
// die_unless_throws()
|
|
97
|
+
|
|
98
|
+
//! Define to check that [code] throws and exception of given type
|
|
99
|
+
#define die_unless_throws(code, exception_type) \
|
|
100
|
+
tlx_die_unless_throws(code, exception_type)
|
|
101
|
+
|
|
102
|
+
} // namespace tlx
|
|
103
|
+
|
|
104
|
+
#endif // !TLX_DIE_HEADER
|
|
105
|
+
|
|
106
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/digest/md5.hpp
|
|
3
|
+
*
|
|
4
|
+
* Public domain implementation of MD-5 processor. Based on LibTomCrypt from
|
|
5
|
+
* https://github.com/libtom/libtomcrypt.git
|
|
6
|
+
*
|
|
7
|
+
* Part of tlx - http://panthema.net/tlx
|
|
8
|
+
*
|
|
9
|
+
* Copyright (C) 2018-2024 Timo Bingmann <tb@panthema.net>
|
|
10
|
+
*
|
|
11
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
12
|
+
******************************************************************************/
|
|
13
|
+
|
|
14
|
+
#ifndef TLX_DIGEST_MD5_HEADER
|
|
15
|
+
#define TLX_DIGEST_MD5_HEADER
|
|
16
|
+
|
|
17
|
+
#include <tlx/container/string_view.hpp>
|
|
18
|
+
#include <cstddef>
|
|
19
|
+
#include <cstdint>
|
|
20
|
+
#include <string>
|
|
21
|
+
|
|
22
|
+
namespace tlx {
|
|
23
|
+
|
|
24
|
+
//! \addtogroup tlx_digest
|
|
25
|
+
//! \{
|
|
26
|
+
|
|
27
|
+
/*!
|
|
28
|
+
* MD-5 processor without external dependencies.
|
|
29
|
+
*/
|
|
30
|
+
class MD5
|
|
31
|
+
{
|
|
32
|
+
public:
|
|
33
|
+
//! construct empty object.
|
|
34
|
+
MD5();
|
|
35
|
+
//! construct context and process data range
|
|
36
|
+
MD5(const void* data, std::uint32_t size);
|
|
37
|
+
//! construct context and process string
|
|
38
|
+
explicit MD5(tlx::string_view str);
|
|
39
|
+
|
|
40
|
+
//! process more data
|
|
41
|
+
void process(const void* data, std::uint32_t size);
|
|
42
|
+
//! process more data
|
|
43
|
+
void process(tlx::string_view str);
|
|
44
|
+
|
|
45
|
+
//! digest length in bytes
|
|
46
|
+
static constexpr size_t kDigestLength = 16;
|
|
47
|
+
|
|
48
|
+
//! finalize computation and output 16 byte (128 bit) digest
|
|
49
|
+
void finalize(void* digest);
|
|
50
|
+
|
|
51
|
+
//! finalize computation and return 16 byte (128 bit) digest
|
|
52
|
+
std::string digest();
|
|
53
|
+
//! finalize computation and return 16 byte (128 bit) digest hex encoded
|
|
54
|
+
std::string digest_hex();
|
|
55
|
+
//! finalize computation and return 16 byte (128 bit) digest upper-case hex
|
|
56
|
+
std::string digest_hex_uc();
|
|
57
|
+
|
|
58
|
+
private:
|
|
59
|
+
std::uint64_t length_ = 0;
|
|
60
|
+
std::uint32_t state_[4];
|
|
61
|
+
std::uint32_t curlen_ = 0;
|
|
62
|
+
std::uint8_t buf_[64];
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
//! process data and return 16 byte (128 bit) digest hex encoded
|
|
66
|
+
std::string md5_hex(const void* data, std::uint32_t size);
|
|
67
|
+
//! process data and return 16 byte (128 bit) digest hex encoded
|
|
68
|
+
std::string md5_hex(tlx::string_view str);
|
|
69
|
+
|
|
70
|
+
//! process data and return 16 byte (128 bit) digest upper-case hex encoded
|
|
71
|
+
std::string md5_hex_uc(const void* data, std::uint32_t size);
|
|
72
|
+
//! process data and return 16 byte (128 bit) digest upper-case hex encoded
|
|
73
|
+
std::string md5_hex_uc(tlx::string_view str);
|
|
74
|
+
|
|
75
|
+
//! \}
|
|
76
|
+
|
|
77
|
+
} // namespace tlx
|
|
78
|
+
|
|
79
|
+
#endif // !TLX_DIGEST_MD5_HEADER
|
|
80
|
+
|
|
81
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/digest/sha1.hpp
|
|
3
|
+
*
|
|
4
|
+
* Public domain implementation of SHA-1 processor. Based on LibTomCrypt from
|
|
5
|
+
* https://github.com/libtom/libtomcrypt.git
|
|
6
|
+
*
|
|
7
|
+
* Part of tlx - http://panthema.net/tlx
|
|
8
|
+
*
|
|
9
|
+
* Copyright (C) 2018-2024 Timo Bingmann <tb@panthema.net>
|
|
10
|
+
*
|
|
11
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
12
|
+
******************************************************************************/
|
|
13
|
+
|
|
14
|
+
#ifndef TLX_DIGEST_SHA1_HEADER
|
|
15
|
+
#define TLX_DIGEST_SHA1_HEADER
|
|
16
|
+
|
|
17
|
+
#include <tlx/container/string_view.hpp>
|
|
18
|
+
#include <cstddef>
|
|
19
|
+
#include <cstdint>
|
|
20
|
+
#include <string>
|
|
21
|
+
|
|
22
|
+
namespace tlx {
|
|
23
|
+
|
|
24
|
+
//! \addtogroup tlx_digest
|
|
25
|
+
//! \{
|
|
26
|
+
|
|
27
|
+
/*!
|
|
28
|
+
* SHA-1 processor without external dependencies.
|
|
29
|
+
*/
|
|
30
|
+
class SHA1
|
|
31
|
+
{
|
|
32
|
+
public:
|
|
33
|
+
//! construct empty object.
|
|
34
|
+
SHA1();
|
|
35
|
+
//! construct context and process data range
|
|
36
|
+
SHA1(const void* data, std::uint32_t size);
|
|
37
|
+
//! construct context and process string
|
|
38
|
+
explicit SHA1(tlx::string_view str);
|
|
39
|
+
|
|
40
|
+
//! process more data
|
|
41
|
+
void process(const void* data, std::uint32_t size);
|
|
42
|
+
//! process more data
|
|
43
|
+
void process(tlx::string_view str);
|
|
44
|
+
|
|
45
|
+
//! digest length in bytes
|
|
46
|
+
static constexpr size_t kDigestLength = 20;
|
|
47
|
+
|
|
48
|
+
//! finalize computation and output 20 byte (160 bit) digest
|
|
49
|
+
void finalize(void* digest);
|
|
50
|
+
|
|
51
|
+
//! finalize computation and return 20 byte (160 bit) digest
|
|
52
|
+
std::string digest();
|
|
53
|
+
//! finalize computation and return 20 byte (160 bit) digest hex encoded
|
|
54
|
+
std::string digest_hex();
|
|
55
|
+
//! finalize computation and return 20 byte (160 bit) digest upper-case hex
|
|
56
|
+
std::string digest_hex_uc();
|
|
57
|
+
|
|
58
|
+
private:
|
|
59
|
+
std::uint64_t length_ = 0;
|
|
60
|
+
std::uint32_t state_[5];
|
|
61
|
+
std::uint32_t curlen_ = 0;
|
|
62
|
+
std::uint8_t buf_[64];
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
//! process data and return 20 byte (160 bit) digest hex encoded
|
|
66
|
+
std::string sha1_hex(const void* data, std::uint32_t size);
|
|
67
|
+
//! process data and return 20 byte (160 bit) digest hex encoded
|
|
68
|
+
std::string sha1_hex(tlx::string_view str);
|
|
69
|
+
|
|
70
|
+
//! process data and return 20 byte (160 bit) digest upper-case hex encoded
|
|
71
|
+
std::string sha1_hex_uc(const void* data, std::uint32_t size);
|
|
72
|
+
//! process data and return 20 byte (160 bit) digest upper-case hex encoded
|
|
73
|
+
std::string sha1_hex_uc(tlx::string_view str);
|
|
74
|
+
|
|
75
|
+
//! \}
|
|
76
|
+
|
|
77
|
+
} // namespace tlx
|
|
78
|
+
|
|
79
|
+
#endif // !TLX_DIGEST_SHA1_HEADER
|
|
80
|
+
|
|
81
|
+
/******************************************************************************/
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* tlx/digest/sha256.hpp
|
|
3
|
+
*
|
|
4
|
+
* Public domain implementation of SHA-256 (SHA-2) processor. Copied from
|
|
5
|
+
* https://github.com/kalven/sha-2, which is based on LibTomCrypt.
|
|
6
|
+
*
|
|
7
|
+
* Part of tlx - http://panthema.net/tlx
|
|
8
|
+
*
|
|
9
|
+
* Copyright (C) 2018-2024 Timo Bingmann <tb@panthema.net>
|
|
10
|
+
*
|
|
11
|
+
* All rights reserved. Published under the Boost Software License, Version 1.0
|
|
12
|
+
******************************************************************************/
|
|
13
|
+
|
|
14
|
+
#ifndef TLX_DIGEST_SHA256_HEADER
|
|
15
|
+
#define TLX_DIGEST_SHA256_HEADER
|
|
16
|
+
|
|
17
|
+
#include <tlx/container/string_view.hpp>
|
|
18
|
+
#include <cstddef>
|
|
19
|
+
#include <cstdint>
|
|
20
|
+
#include <string>
|
|
21
|
+
|
|
22
|
+
namespace tlx {
|
|
23
|
+
|
|
24
|
+
//! \addtogroup tlx_digest
|
|
25
|
+
//! \{
|
|
26
|
+
|
|
27
|
+
/*!
|
|
28
|
+
* SHA-256 processor without external dependencies.
|
|
29
|
+
*/
|
|
30
|
+
class SHA256
|
|
31
|
+
{
|
|
32
|
+
public:
|
|
33
|
+
//! construct empty object.
|
|
34
|
+
SHA256();
|
|
35
|
+
//! construct context and process data range
|
|
36
|
+
SHA256(const void* data, std::uint32_t size);
|
|
37
|
+
//! construct context and process string
|
|
38
|
+
explicit SHA256(tlx::string_view str);
|
|
39
|
+
|
|
40
|
+
//! process more data
|
|
41
|
+
void process(const void* data, std::uint32_t size);
|
|
42
|
+
//! process more data
|
|
43
|
+
void process(tlx::string_view str);
|
|
44
|
+
|
|
45
|
+
//! digest length in bytes
|
|
46
|
+
static constexpr size_t kDigestLength = 32;
|
|
47
|
+
|
|
48
|
+
//! finalize computation and output 32 byte (256 bit) digest
|
|
49
|
+
void finalize(void* digest);
|
|
50
|
+
|
|
51
|
+
//! finalize computation and return 32 byte (256 bit) digest
|
|
52
|
+
std::string digest();
|
|
53
|
+
//! finalize computation and return 32 byte (256 bit) digest hex encoded
|
|
54
|
+
std::string digest_hex();
|
|
55
|
+
//! finalize computation and return 32 byte (256 bit) digest upper-case hex
|
|
56
|
+
std::string digest_hex_uc();
|
|
57
|
+
|
|
58
|
+
private:
|
|
59
|
+
std::uint64_t length_ = 0;
|
|
60
|
+
std::uint32_t state_[8];
|
|
61
|
+
std::uint32_t curlen_ = 0;
|
|
62
|
+
std::uint8_t buf_[64];
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
//! process data and return 32 byte (256 bit) digest hex encoded
|
|
66
|
+
std::string sha256_hex(const void* data, std::uint32_t size);
|
|
67
|
+
//! process data and return 32 byte (256 bit) digest hex encoded
|
|
68
|
+
std::string sha256_hex(tlx::string_view str);
|
|
69
|
+
|
|
70
|
+
//! process data and return 32 byte (256 bit) digest upper-case hex encoded
|
|
71
|
+
std::string sha256_hex_uc(const void* data, std::uint32_t size);
|
|
72
|
+
//! process data and return 32 byte (256 bit) digest upper-case hex encoded
|
|
73
|
+
std::string sha256_hex_uc(tlx::string_view str);
|
|
74
|
+
|
|
75
|
+
//! \}
|
|
76
|
+
|
|
77
|
+
} // namespace tlx
|
|
78
|
+
|
|
79
|
+
#endif // !TLX_DIGEST_SHA256_HEADER
|
|
80
|
+
|
|
81
|
+
/******************************************************************************/
|