xref: /petsc/src/ksp/pc/impls/hpddm/ftn-custom/zpchpddmf.c (revision 2286efddd54511ab18e8e2adb1e023c4bf8f0b92)
16dd63270SBarry Smith #include <petsc/private/ftnimpl.h>
270009435SPierre Jolivet 
370009435SPierre Jolivet #include <petscpc.h>
470009435SPierre Jolivet #if defined(PETSC_HAVE_FORTRAN_CAPS)
570009435SPierre Jolivet   #define pchpddmsetauxiliarymat_ PCHPDDMSETAUXILIARYMAT
68a6b6cadSSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
770009435SPierre Jolivet   #define pchpddmsetauxiliarymat_ pchpddmsetauxiliarymat
870009435SPierre Jolivet #endif
970009435SPierre Jolivet 
pchpddmsetauxiliarymat_(PC * pc,IS * is,Mat * A,PetscErrorCode (* setup)(Mat,PetscReal,Vec,Vec,PetscReal,IS,void *),PETSC_UNUSED void * setup_ctx,PetscErrorCode * ierr)1070009435SPierre 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)
1170009435SPierre Jolivet {
12*5ebfa9e9SBarry Smith   if ((PetscFortranCallbackFn *)setup != (PetscFortranCallbackFn *)PETSC_NULL_FUNCTION_Fortran) {
1370009435SPierre Jolivet     *ierr = PETSC_ERR_ARG_WRONG;
1470009435SPierre Jolivet     return;
1570009435SPierre Jolivet   }
1670009435SPierre Jolivet   *ierr = PCHPDDMSetAuxiliaryMat(*pc, *is, *A, NULL, NULL);
1770009435SPierre Jolivet }
18