girgs  1.0.2
Generator for Geometric Inhomogeneous Random Graphs
Generator.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <vector>
5 #include <random>
6 #include <utility>
7 
8 #include <hypergirgs/hypergirgs_api.h>
9 
10 
11 namespace hypergirgs {
12 
13 using default_random_engine = std::mt19937_64;
14 
15 HYPERGIRGS_API double calculateRadius(int n, double alpha, double T, double deg);
16 HYPERGIRGS_API double calculateRadiusLikeNetworKit(int n, double alpha, double T, double deg);
17 
18 HYPERGIRGS_API std::vector<double> sampleRadii(int n, double alpha, double R, int seed, bool parallel = true);
19 HYPERGIRGS_API std::vector<double> sampleAngles(int n, int seed, bool parallel = true);
20 
22 HYPERGIRGS_API std::pair<std::vector<double>, std::vector<double> > sampleRadiiAndAngles(int n, double alpha, double R, int seed, bool parallel = true);
23 
24 
25 HYPERGIRGS_API std::vector<std::pair<int, int> > generateEdges(std::vector<double>& radii, std::vector<double>& angles, double T, double R, int seed = 0);
26 
27 } // namespace hypergirgs
Definition: Generator.h:11
HYPERGIRGS_API std::vector< double > sampleAngles(int n, int seed, bool parallel=true)
HYPERGIRGS_API std::vector< std::pair< int, int > > generateEdges(std::vector< double > &radii, std::vector< double > &angles, double T, double R, int seed=0)
HYPERGIRGS_API std::vector< double > sampleRadii(int n, double alpha, double R, int seed, bool parallel=true)
HYPERGIRGS_API double calculateRadius(int n, double alpha, double T, double deg)
HYPERGIRGS_API double calculateRadiusLikeNetworKit(int n, double alpha, double T, double deg)
HYPERGIRGS_API std::pair< std::vector< double >, std::vector< double > > sampleRadiiAndAngles(int n, double alpha, double R, int seed, bool parallel=true)
If both, radii and angles, are to be sampled prefer this function of sampleRadii() and sampleAngles()...
std::mt19937_64 default_random_engine
Definition: Generator.h:13