xref: /petsc/src/ksp/pc/impls/hpddm/ftn-custom/zpchpddmf.c (revision 70009435183fa67966fdf74370ab10cffad02a8d)
1*70009435SPierre Jolivet #include <petsc/private/fortranimpl.h>
2*70009435SPierre Jolivet 
3*70009435SPierre Jolivet #include <petscpc.h>
4*70009435SPierre Jolivet #if defined(PETSC_HAVE_FORTRAN_CAPS)
5*70009435SPierre Jolivet   #define pchpddmsetauxiliarymat_ PCHPDDMSETAUXILIARYMAT
6*70009435SPierre Jolivet #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
7*70009435SPierre Jolivet   #define pchpddmsetauxiliarymat_ pchpddmsetauxiliarymat
8*70009435SPierre Jolivet #endif
9*70009435SPierre Jolivet 
10*70009435SPierre Jolivet PETSC_EXTERN void pchpddmsetauxiliarymat_(PC *pc, IS *is, Mat *A, PetscErrorCode (*setup)(Mat, PetscReal, Vec, Vec, PetscReal, IS, void *), PETSC_UNUSED void *setup_ctx, PetscErrorCode *ierr)
11*70009435SPierre Jolivet {
12*70009435SPierre Jolivet   if ((PetscVoidFunction)setup != (PetscVoidFunction)PETSC_NULL_FUNCTION_Fortran) {
13*70009435SPierre Jolivet     *ierr = PETSC_ERR_ARG_WRONG;
14*70009435SPierre Jolivet     return;
15*70009435SPierre Jolivet   }
16*70009435SPierre Jolivet   *ierr = PCHPDDMSetAuxiliaryMat(*pc, *is, *A, NULL, NULL);
17*70009435SPierre Jolivet }
18