#if defined(PETSC_HAVE_FORTRAN_TYPE_STAR) Interface subroutine DMDASNESSetFunctionLocal(dm,imode,func,ctx,ierr) import tSNES,tDM,eInsertMode DM, intent(in) :: dm InsertMode, intent(in) :: imode external :: func type(*) :: ctx PetscErrorCode, intent(out) :: ierr end subroutine DMDASNESSetFunctionLocal end Interface Interface subroutine DMSNESSetFunctionLocal(dm,func,ctx,ierr) import tSNES,tDM DM, intent(in) :: dm external :: func type(*) :: ctx PetscErrorCode, intent(out) :: ierr end subroutine DMSNESSetFunctionLocal end Interface interface SNESSetFunction subroutine SNESSetFunction(a,b,c,d,z) import tSNES, tVec SNES a Vec b external c type(*) d PetscErrorCode z end subroutine end Interface interface SNESSetJacobian subroutine SNESSetJacobian(a,b,c,d,e,z) import tSNES, tMat SNES a Mat b Mat c external d type(*) e PetscErrorCode z end subroutine end Interface interface SNESGetJacobian subroutine SNESGetJacobian(a,b,c,d,e,z) import tSNES, tMat SNES a Mat b Mat c external d type(*) e PetscErrorCode z end subroutine end Interface Interface subroutine DMSNESSetJacobianLocal(dm,func,ctx,ierr) import tSNES,tDM DM, intent(in) :: dm external :: func type(*) :: ctx PetscErrorCode, intent(out) :: ierr end subroutine DMSNESSetJacobianLocal end Interface Interface subroutine SNESSetConvergenceTest(snes,func,cctx,destroy,ierr) import tSNES SNES :: snes external :: func type(*) :: cctx external :: destroy PetscErrorCode, intent(out) :: ierr end subroutine end Interface #endif Interface subroutine SNESRestoreConvergenceHistory(snes,r,its,na,ierr) import tSNES SNES snes PetscInt na PetscReal, pointer :: r(:) PetscInt, pointer :: its(:) PetscErrorCode, intent(out) :: ierr end subroutine end Interface