PETSC_EXTERN void PETSC_STDCALL matgetrowij_(Mat *B,PetscInt *shift,PetscBool *sym,PetscBool *blockcompressed,PetscInt *n,PetscInt *ia,size_t *iia, PetscInt *ja,size_t *jja,PetscBool *done,PetscErrorCode *ierr) { const PetscInt *IA,*JA; *ierr = MatGetRowIJ(*B,*shift,*sym,*blockcompressed,n,&IA,&JA,done);if (*ierr) return; *iia = PetscIntAddressToFortran(ia,(PetscInt*)IA); *jja = PetscIntAddressToFortran(ja,(PetscInt*)JA); }
PETSC_EXTERN void PETSC_STDCALL isgetindices_(IS *x,PetscInt *fa,size_t *ia,PetscErrorCode *ierr) { const PetscInt *lx; *ierr = ISGetIndices(*x,&lx); if (*ierr) return; *ia = PetscIntAddressToFortran(fa,(PetscInt*)lx); }
PETSC_EXTERN void PETSC_STDCALL matmpibaijgetseqbaij_(Mat *A,Mat *Ad,Mat *Ao,PetscInt *ic,size_t *iic,PetscErrorCode *ierr) { const PetscInt *i; *ierr = MatMPIBAIJGetSeqBAIJ(*A,Ad,Ao,&i); if (*ierr) return; *iic = PetscIntAddressToFortran(ic,(PetscInt*)i); }
PETSC_EXTERN void PETSC_STDCALL islocaltoglobalmappinggetblockindices_(ISLocalToGlobalMapping *x,PetscInt *fa,size_t *ia,PetscErrorCode *ierr) { const PetscInt *lx; *ierr = ISLocalToGlobalMappingGetBlockIndices(*x,&lx); if (*ierr) return; *ia = PetscIntAddressToFortran(fa,(PetscInt*)lx); }
EXTERN_C_BEGIN void PETSC_STDCALL matmpiaijgetseqaij_(Mat *A,Mat *Ad,Mat *Ao,PetscInt *ic,size_t *iic,PetscErrorCode *ierr) { PetscInt *i; *ierr = MatMPIAIJGetSeqAIJ(*A,Ad,Ao,&i);if (*ierr) return; *iic = PetscIntAddressToFortran(ic,i); }