@@ -746,25 +746,28 @@ void MutableVertexPartition::cache_neigh_communities(size_t v, igraph_neimode_t
746746 cerr << " double MutableVertexPartition::cache_neigh_communities(" << v << " , " << mode << " )." << endl;
747747 #endif
748748 vector<double >* _cached_weight_tofrom_community = NULL ;
749- vector<size_t >* _cached_neighs = NULL ;
749+ vector<size_t >* _cached_neighs_comms = NULL ;
750750 switch (mode)
751751 {
752752 case IGRAPH_IN:
753753 _cached_weight_tofrom_community = &(this ->_cached_weight_from_community );
754- _cached_neighs = &(this ->_cached_neigh_comms_from );
754+ _cached_neighs_comms = &(this ->_cached_neigh_comms_from );
755755 break ;
756756 case IGRAPH_OUT:
757757 _cached_weight_tofrom_community = &(this ->_cached_weight_to_community );
758- _cached_neighs = &(this ->_cached_neigh_comms_to );
758+ _cached_neighs_comms = &(this ->_cached_neigh_comms_to );
759759 break ;
760760 case IGRAPH_ALL:
761761 _cached_weight_tofrom_community = &(this ->_cached_weight_all_community );
762- _cached_neighs = &(this ->_cached_neigh_comms_all );
762+ _cached_neighs_comms = &(this ->_cached_neigh_comms_all );
763763 break ;
764764 }
765765
766766 // Reset cached communities
767- std::fill (_cached_weight_tofrom_community->begin (), _cached_weight_tofrom_community->end (), 0 );
767+ for (vector<size_t >::iterator it = _cached_neighs_comms->begin ();
768+ it != _cached_neighs_comms->end ();
769+ it++)
770+ (*_cached_weight_tofrom_community)[*it] = 0 ;
768771
769772 // Loop over all incident edges
770773 vector<size_t > const & neighbours = this ->graph ->get_neighbours (v, mode);
@@ -773,8 +776,8 @@ void MutableVertexPartition::cache_neigh_communities(size_t v, igraph_neimode_t
773776 size_t degree = neighbours.size ();
774777
775778 // Reset cached neighbours
776- _cached_neighs ->clear ();
777- _cached_neighs ->reserve (degree);
779+ _cached_neighs_comms ->clear ();
780+ _cached_neighs_comms ->reserve (degree);
778781 for (size_t idx = 0 ; idx < degree; idx++)
779782 {
780783 size_t u = neighbours[idx];
@@ -799,7 +802,7 @@ void MutableVertexPartition::cache_neigh_communities(size_t v, igraph_neimode_t
799802 // times to the _cached_neighs. However, I don' believe this causes any further issue,
800803 // so that's why I leave this here as is.
801804 if ((*_cached_weight_tofrom_community)[comm] != 0 )
802- _cached_neighs ->push_back (comm);
805+ _cached_neighs_comms ->push_back (comm);
803806 }
804807 #ifdef DEBUG
805808 cerr << " exit Graph::cache_neigh_communities(" << v << " , " << mode << " )." << endl;
0 commit comments