1 #include <../src/mat/impls/adj/mpi/mpiadj.h>
2 #include <petsc/private/ftnimpl.h>
3 #include <petscmat.h>
4
5 #if defined(PETSC_HAVE_FORTRAN_CAPS)
6 #define matpartitioningsetvertexweights_ MATPARTITIONINGSETVERTEXWEIGHTS
7 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
8 #define matpartitioningsetvertexweights_ matpartitioningsetvertexweights
9 #endif
10
matpartitioningsetvertexweights_NOTODAY(MatPartitioning * part,const PetscInt weights[],PetscErrorCode * ierr)11 PETSC_EXTERN void matpartitioningsetvertexweights_NOTODAY(MatPartitioning *part, const PetscInt weights[], PetscErrorCode *ierr)
12 {
13 PetscInt len;
14 PetscInt *array;
15 *ierr = MatGetLocalSize((*part)->adj, &len, NULL);
16 if (*ierr) return;
17 *ierr = PetscMalloc1(len, &array);
18 if (*ierr) return;
19 *ierr = PetscArraycpy(array, weights, len);
20 if (*ierr) return;
21 *ierr = MatPartitioningSetVertexWeights(*part, array);
22 }
23