1 #include <petsc/private/fortranimpl.h> 2 #include <petscksp.h> 3 4 #if defined(PETSC_HAVE_FORTRAN_CAPS) 5 #define pcgasmgetsubksp_ PCGASMGETSUBKSP 6 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 7 #define pcgasmgetsubksp_ pcgasmgetsubksp 8 #endif 9 10 PETSC_EXTERN void PETSC_STDCALL pcgasmgetsubksp_(PC *pc,PetscInt *n_local,PetscInt *first_local,KSP *ksp,PetscErrorCode *ierr) 11 { 12 KSP *tksp; 13 PetscInt i,nloc; 14 CHKFORTRANNULLINTEGER(n_local); 15 CHKFORTRANNULLINTEGER(first_local); 16 CHKFORTRANNULLOBJECT(ksp); 17 *ierr = PCGASMGetSubKSP(*pc,&nloc,first_local,&tksp); 18 if (n_local) *n_local = nloc; 19 if (ksp) { 20 for (i=0; i<nloc; i++) ksp[i] = tksp[i]; 21 } 22 } 23 24 25