Skip to content

Commit c73f887

Browse files
committed
.
1 parent 0053313 commit c73f887

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/java/ldbc/snb/datagen/generator/DistanceKnowsGenerator.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public void generateKnows( ArrayList<Person> persons, int seed, float percentage
2222
randomFarm.resetRandomGenerators(seed);
2323
for( int i = 0; i < persons.size(); ++i ) {
2424
Person p = persons.get(i);
25-
for( int j = i+1; (p.maxNumKnows()*percentage > p.knows().size()) && (j < persons.size()); ++j ) {
25+
for( int j = i+1; ( target_edges(p, percentage) > p.knows().size() ) && ( j < persons.size() ); ++j ) {
2626
if( know(p, persons.get(j), j - i, percentage)) {
2727
createKnow(p, persons.get(j));
2828
}
@@ -31,8 +31,8 @@ public void generateKnows( ArrayList<Person> persons, int seed, float percentage
3131
}
3232

3333
boolean know( Person personA, Person personB, int dist, float percentage ) {
34-
if((float)(personA.knows().size()) >= (float)(personA.maxNumKnows())*percentage ||
35-
personB.knows().size() >= (float)(personB.maxNumKnows())*percentage ) return false;
34+
if((float)(personA.knows().size()) >= target_edges(personA,percentage) ||
35+
personB.knows().size() >= target_edges(personA,percentage) ) return false;
3636
double randProb = randomFarm.get(RandomGeneratorFarm.Aspect.UNIFORM).nextDouble();
3737
double prob = Math.pow(DatagenParams.baseProbCorrelated, dist);
3838
if ((randProb < prob) || (randProb < DatagenParams.limitProCorrelated)) {
@@ -54,4 +54,8 @@ void createKnow( Person personA, Person personB ) {
5454
personA.knows().add(new Knows(personB, creationDate, similarity));
5555
}
5656
}
57+
58+
float target_edges(Person person, float percentage) {
59+
return (float)(person.maxNumKnows())*percentage;
60+
}
5761
}

0 commit comments

Comments
 (0)