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);
}
Exemplo n.º 2
0
Arquivo: test.c Projeto: kingfree/haut
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;
}