MAX_GRPS = nc;
if (noclusterinfo) {
- int use_value = TRUE, flag = 0;
+ int use_value = TRUE;
double modularity;
if (!clust_sym) clust_sym = agattr(g,AGNODE,"cluster","-1");
if (clustering_scheme == CLUSTERING_MQ){
mq_clustering(A, FALSE, maxcluster, use_value,
- &nc, clusters, &modularity, &flag);
+ &nc, clusters, &modularity);
} else if (clustering_scheme == CLUSTERING_MODULARITY){
modularity_clustering(A, FALSE, maxcluster, use_value,
&nc, clusters, &modularity);
clusters = MALLOC(sizeof(int)*nnodes);
{
- int use_value = TRUE, flag = 0;
+ int use_value = TRUE;
double modularity;
if (!clust_sym) clust_sym = agattr(g,AGNODE,"cluster","-1");
if (clustering_scheme == CLUSTERING_MQ){
mq_clustering(A, FALSE, maxcluster, use_value,
- &nc, &clusters, &modularity, &flag);
+ &nc, &clusters, &modularity);
} else if (clustering_scheme == CLUSTERING_MODULARITY){
modularity_clustering(A, FALSE, maxcluster, use_value,
&nc, &clusters, &modularity);
void mq_clustering(SparseMatrix A, int inplace, int maxcluster, int use_value,
- int *nclusters, int **assignment, double *mq, int *flag){
+ int *nclusters, int **assignment, double *mq){
/* find a clustering of vertices by maximize mq
A: symmetric square matrix n x n. If real value, value will be used as edges weights, otherwise edge weights are considered as 1.
inplace: whether A can e modified. If true, A will be modified by removing diagonal.
*/
SparseMatrix B;
- *flag = 0;
-
assert(A->m == A->n);
B = SparseMatrix_symmetrize(A, false);
mq: achieve modularity
*/
void mq_clustering(SparseMatrix A, int inplace, int maxcluster, int use_value,
- int *nclusters, int **assignment, double *mq, int *flag);
+ int *nclusters, int **assignment, double *mq);
#ifdef __cplusplus
}