From: Matthew Fernandez Date: Mon, 23 May 2022 14:37:07 +0000 (-0700) Subject: sparse: remove always true branch in 'SparseMatrix_sum_repeat_entries' X-Git-Tag: 6.0.1~27^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=936243203aedb33dd555b2eaae3f4b8eff92b3c6;p=graphviz sparse: remove always true branch in 'SparseMatrix_sum_repeat_entries' `what_to_sum` can only take on two values, `SUM_REPEATED_NONE` and `SUM_REPEATED_ALL`. If it is `SUM_REPEATED_NONE` there is an early exit at the beginning of this function. --- diff --git a/lib/sparse/SparseMatrix.c b/lib/sparse/SparseMatrix.c index b2f459dcf..730c3a7a5 100644 --- a/lib/sparse/SparseMatrix.c +++ b/lib/sparse/SparseMatrix.c @@ -1384,25 +1384,23 @@ SparseMatrix SparseMatrix_sum_repeat_entries(SparseMatrix A, int what_to_sum){ case MATRIX_TYPE_COMPLEX: { double *a = (double*) A->a; - if (what_to_sum == SUM_REPEATED_ALL){ - nz = 0; - sta = ia[0]; - for (i = 0; i < A->m; i++){ - for (j = sta; j < ia[i+1]; j++){ - if (mask[ja[j]] < ia[i]){ - ja[nz] = ja[j]; - a[2*nz] = a[2*j]; - a[2*nz+1] = a[2*j+1]; - mask[ja[j]] = nz++; - } else { - assert(ja[mask[ja[j]]] == ja[j]); - a[2*mask[ja[j]]] += a[2*j]; - a[2*mask[ja[j]]+1] += a[2*j+1]; - } - } - sta = ia[i+1]; - ia[i+1] = nz; - } + nz = 0; + sta = ia[0]; + for (i = 0; i < A->m; i++) { + for (j = sta; j < ia[i+1]; j++) { + if (mask[ja[j]] < ia[i]) { + ja[nz] = ja[j]; + a[2 * nz] = a[2 * j]; + a[2 * nz + 1] = a[2 * j + 1]; + mask[ja[j]] = nz++; + } else { + assert(ja[mask[ja[j]]] == ja[j]); + a[2 * mask[ja[j]]] += a[2 * j]; + a[2 * mask[ja[j]]+1] += a[2 * j + 1]; + } + } + sta = ia[i + 1]; + ia[i + 1] = nz; } } break;