79 for (
int i = 0; i < weights.
size(); i++) {
80 nodes[i] = G.newNode();
81 nodeWeights[nodes[i]] = weights[i];
82 for (
int j = 0; j < dimension; j++){
83 cord[nodes[i]][j] = dist(rng);
87 for (
node v : nodes) {
89 double distance = 0.0;
90 for (
int i = 0; i < dimension; i++) {
91 distance += (cord[v][i] - cord[w][i]) * (cord[v][i] - cord[w][i]);
93 distance = sqrt(distance);
95 if ((nodeWeights[v] + nodeWeights[w]) * h(distance) > threshold) {
122 randomGeographicalThresholdGraph<D>(G, weights, dist, threshold, [alpha](
double d){
return 1/pow(d, alpha); }, dimension);