static int MatIncreaseOverlap_MPIAIJ(Mat, int id_msx, IS *is, int ov); { Mat_MPIAIJ *a = (Mat_MPIAIJ *) A->data; int shift, **table; **data , *xtable, *xdata;, **idx, *n, *w1; int *w2, *w3, *w4, *rtable ; /* assume overlap = 1 */ size = a->size; rank = a->rank; m = a->M; idx = PetscMalloc((is_max)*sizeof(int *)); n = PetscMalloc((is_max)*sizeof(int )); rtable = PetscMalloc((m+1)sizeof(int )); /* Hash table for maping row ->proc */ for ( i=0 ; i proc*/ for( i=0 j=0; i< size; ++i) { for (; j