~vtraag/louvain/release-0.1

« back to all changes in this revision

Viewing changes to src/Base/community.cpp

  • Committer: Vincent Traag
  • Date: 2011-05-26 17:28:12 UTC
  • Revision ID: vtraag@f-m.fm-20110526172812-qtsq5n47ptwtmxs2
Fixed some minor issues, removed dependence on pthread library, changed the consideration of communities for negative links.

Show diffs side-by-side

added added

removed removed

Lines of Context:
260
260
{
261
261
  int nb_node_layers = g->nb_nonnull_layers(node);
262
262
  int* node_layers = g->nonnull_layers(node);
 
263
  int is_negative_present = false;
 
264
  
263
265
  for (int layer_ind = 0; layer_ind < nb_node_layers; layer_ind++)
264
266
  {
265
267
    int layer = node_layers[layer_ind];
 
268
    if (sign_per_layer[layer] == NEGATIVE)
 
269
      is_negative_present = true;
266
270
 
267
271
    pair< int*, double* > neighbors = g->neighbors(node, layer, direction);
268
272
 
281
285
      }
282
286
    }
283
287
  }
 
288
  
 
289
  // if there was a negative layer being examined, we will have to loop through *all* communities
 
290
  // since it might be that the others have only a negative contribution.
 
291
  if (is_negative_present)
 
292
  {
 
293
    for (int i=0 ; i<nb_comm ; i++)
 
294
        comm->insert(i);
 
295
  }
284
296
}
285
297
 
286
298
// total_weight_node_comm(int node, map< int, map<int, double> >* res, set<int>* comm)