xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision 3d1372b23971def3aed7e3dc12090948688700a0)
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
16*3d1372b2SMartin 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
23*3d1372b2SMartin Diehl  end subroutine
246dd63270SBarry Smith#else
256dd63270SBarry Smith  subroutine PetscErrorf(ierr)
26fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
276dd63270SBarry Smith    PetscErrorCode, intent(in) :: ierr
28*3d1372b2SMartin Diehl  end subroutine
296dd63270SBarry Smith
306dd63270SBarry Smith  subroutine PetscErrorMPI(ierr)
31fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
326dd63270SBarry Smith    PetscErrorCode, intent(inout) :: ierr
33*3d1372b2SMartin 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
436dd63270SBarry Smith  subroutine PetscViewerASCIIStdoutSetFileUnit(unit, z)
44fe66ebccSMartin Diehl    use, intrinsic :: ISO_C_binding
456dd63270SBarry Smith    integer4 unit
466dd63270SBarry Smith    PetscErrorCode, intent(out) :: z
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
53*3d1372b2SMartin 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
59*3d1372b2SMartin 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(:)
716dd63270SBarry Smith    PetscErrorCode 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(:)
776dd63270SBarry Smith    PetscErrorCode 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(:)
846dd63270SBarry Smith    PetscErrorCode 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(:)
906dd63270SBarry Smith    PetscErrorCode ierr
9102c639afSMartin Diehl  end subroutine
9202c639afSMartin Diehlend interface
93*3d1372b2SMartin Diehl
94*3d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
95*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscPrintf
96*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorf
97*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorMPI
98*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::MPIU_abort
99*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIStdoutSetFileUnit
100*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventBegin
101*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventEnd
102*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscIntArray1dDestroy
103*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayScalar
104*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayScalar
105*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayInt
106*3d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayInt
107*3d1372b2SMartin Diehl#endif
108