void calc_domainconn( vtx_t const nvtxs, adj_t const * const xadj, vtx_t const * const adjncy, vlbl_t const nparts, vlbl_t const * const where, int * const dc) { vtx_t i, k; adj_t j; vlbl_t me; int * dd; dd = int_init_alloc(0,nparts*nparts); for (i=0;i<nvtxs;++i) { me = where[i]; for (j=xadj[i];j<xadj[i+1];++j) { k = adjncy[j]; if (me != where[k]) { dd[(me*nparts)+where[k]] = 1; } } } int_set(dc,0,nparts); for (me=0;me<nparts;++me) { dc[me] = int_sum(dd+(nparts*me),nparts); } dl_free(dd); }
int main(int argc, char* argv[]) { int n = 10; int a[10]; int i; for (i = 0; i < n; i++) { a[i] = i; } int s = int_sum(a, n); printf("%d\n", s); return 0; }