xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision 0da4d79be8ca4b371773b94100cfa6921df903e2)
102c639afSMartin Diehlinterface
202c639afSMartin Diehl  subroutine PetscPrintf(m, c, ierr)
3fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
4b06eb4cdSBarry Smith    use petscmpi
5b06eb4cdSBarry Smith    MPIU_Comm :: m
66dd63270SBarry Smith    character(len=*) :: c
76dd63270SBarry Smith    PetscErrorCode :: ierr
802c639afSMartin Diehl  end subroutine
96dd63270SBarry Smith
106dd63270SBarry Smith#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE)
116dd63270SBarry Smith  subroutine PetscErrorf(ierr, line, file)
12fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
136dd63270SBarry Smith    PetscErrorCode, intent(in) :: ierr
146dd63270SBarry Smith    integer, intent(in) ::  line
156dd63270SBarry Smith    character(*) file
163d1372b2SMartin Diehl  end subroutine
176dd63270SBarry Smith
186dd63270SBarry Smith  subroutine PetscErrorMPI(ierr, line, file)
19fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
206dd63270SBarry Smith    PetscErrorCode, intent(inout) :: ierr
216dd63270SBarry Smith    integer, intent(in) ::  line
226dd63270SBarry Smith    character(*) file
233d1372b2SMartin Diehl  end subroutine
246dd63270SBarry Smith#else
256dd63270SBarry Smith  subroutine PetscErrorf(ierr)
26fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
276dd63270SBarry Smith    PetscErrorCode, intent(in) :: ierr
283d1372b2SMartin Diehl  end subroutine
296dd63270SBarry Smith
306dd63270SBarry Smith  subroutine PetscErrorMPI(ierr)
31fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
326dd63270SBarry Smith    PetscErrorCode, intent(inout) :: ierr
333d1372b2SMartin Diehl  end subroutine
346dd63270SBarry Smith#endif
356dd63270SBarry Smith
366dd63270SBarry Smith  subroutine MPIU_abort(comm, ierr)
37fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
38b06eb4cdSBarry Smith    use petscmpi
39b06eb4cdSBarry Smith    MPIU_Comm, intent(in) ::  comm
406dd63270SBarry Smith    PetscErrorCode, intent(in) ::  ierr
416dd63270SBarry Smith  end subroutine
426dd63270SBarry Smith
43*0da4d79bSMartin Diehl  subroutine PetscViewerASCIIStdoutSetFileUnit(unit, ierr)
44fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
456dd63270SBarry Smith    integer4 unit
46*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
476dd63270SBarry Smith  end subroutine
486dd63270SBarry Smith
496dd63270SBarry Smith  subroutine PetscLogEventBegin(event, ierr)
50fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
516dd63270SBarry Smith    PetscLogEvent, intent(in) :: event
526dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
533d1372b2SMartin Diehl  end subroutine
546dd63270SBarry Smith
556dd63270SBarry Smith  subroutine PetscLogEventEnd(event, ierr)
56fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
576dd63270SBarry Smith    PetscLogEvent, intent(in) :: event
586dd63270SBarry Smith    PetscErrorCode, intent(out) :: ierr
593d1372b2SMartin Diehl  end subroutine
606dd63270SBarry Smith
6102c639afSMartin Diehl  subroutine PetscIntArray1dDestroy(a, ierr)
62fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
6302c639afSMartin Diehl    PetscInt, pointer :: a(:)
646dd63270SBarry Smith    PetscErrorCode    :: ierr
6502c639afSMartin Diehl  end subroutine
666dd63270SBarry Smith
6702c639afSMartin Diehl  subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr)
68fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
696dd63270SBarry Smith    PetscInt :: start, len
706dd63270SBarry Smith    PetscScalar, pointer :: d1(:)
71*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
7202c639afSMartin Diehl  end subroutine
736dd63270SBarry Smith
7402c639afSMartin Diehl  subroutine PetscShmgetDeallocateArrayScalar(d1, ierr)
75fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
766dd63270SBarry Smith    PetscScalar, pointer :: d1(:)
77*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
7802c639afSMartin Diehl  end subroutine
796dd63270SBarry Smith
8002c639afSMartin Diehl  subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr)
81fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
826dd63270SBarry Smith    PetscInt :: start, len
836dd63270SBarry Smith    PetscInt, pointer :: d1(:)
84*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
8502c639afSMartin Diehl  end subroutine
866dd63270SBarry Smith
8702c639afSMartin Diehl  subroutine PetscShmgetDeallocateArrayInt(d1, ierr)
88fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
896dd63270SBarry Smith    PetscInt, pointer :: d1(:)
90*0da4d79bSMartin Diehl    PetscErrorCode, intent(out) :: ierr
9102c639afSMartin Diehl  end subroutine
9202c639afSMartin Diehlend interface
933d1372b2SMartin Diehl
943d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
953d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscPrintf
963d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorf
973d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorMPI
983d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::MPIU_abort
993d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIStdoutSetFileUnit
1003d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventBegin
1013d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventEnd
1023d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscIntArray1dDestroy
1033d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayScalar
1043d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayScalar
1053d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayInt
1063d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayInt
1073d1372b2SMartin Diehl#endif
108