Actual source code: zbjacobif.c
1: #include <petsc/private/fortranimpl.h>
2: #include <petscksp.h>
4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
5: #define pcbjacobigetsubksp1_ PCBJACOBIGETSUBKSP1
6: #define pcbjacobigetsubksp2_ PCBJACOBIGETSUBKSP2
7: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
8: #define pcbjacobigetsubksp1_ pcbjacobigetsubksp1
9: #define pcbjacobigetsubksp2_ pcbjacobigetsubksp2
10: #endif
12: PETSC_EXTERN void pcbjacobigetsubksp1_(PC *pc, PetscInt *n_local, PetscInt *first_local, KSP *ksp, PetscErrorCode *ierr)
13: {
14: KSP *tksp;
15: PetscInt i, nloc;
16: CHKFORTRANNULLINTEGER(n_local);
17: CHKFORTRANNULLINTEGER(first_local);
18: *ierr = PCBJacobiGetSubKSP(*pc, &nloc, first_local, &tksp);
19: if (*ierr) return;
20: if (n_local) *n_local = nloc;
21: CHKFORTRANNULLOBJECT(ksp);
22: if (ksp) {
23: for (i = 0; i < nloc; i++) { ksp[i] = tksp[i]; }
24: }
25: }
26: PETSC_EXTERN void pcbjacobigetsubksp2_(PC *pc, PetscInt *n_local, PetscInt *first_local, KSP *ksp, PetscErrorCode *ierr)
27: {
28: pcbjacobigetsubksp1_(pc, n_local, first_local, ksp, ierr);
29: }