xref: /petsc/src/mat/graphops/partition/ftn-custom/zpartitionf.c (revision b0dcfd164860a975c76f90dabf1036901aab1c4e)
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