xref: /petsc/src/sys/ftn-mod/petscsys.h90 (revision 0b8bdde92eb4bc9ed9cee42fe7fcadba66103007)
1interface
2  subroutine PetscPrintf(comm, msg, ierr)
3    use, intrinsic :: ISO_C_binding
4    use petscmpi
5    MPIU_Comm :: comm
6    character(len=*) :: msg
7    PetscErrorCode :: ierr
8  end subroutine
9
10  subroutine PetscSynchronizedPrintf(comm, msg, ierr)
11    use, intrinsic :: ISO_C_binding
12    use petscmpi
13    MPIU_Comm :: comm
14    character(len=*) :: msg
15    PetscErrorCode :: ierr
16  end subroutine
17
18#if defined(PETSC_HAVE_FORTRAN_FREE_LINE_LENGTH_NONE)
19  subroutine PetscErrorf(ierr, line, file)
20    use, intrinsic :: ISO_C_binding
21    PetscErrorCode, intent(in) :: ierr
22    integer, intent(in) ::  line
23    character(*) file
24  end subroutine
25
26  subroutine PetscErrorMPI(ierr, line, file)
27    use, intrinsic :: ISO_C_binding
28    PetscErrorCode, intent(inout) :: ierr
29    integer, intent(in) ::  line
30    character(*) file
31  end subroutine
32#else
33  subroutine PetscErrorf(ierr)
34    use, intrinsic :: ISO_C_binding
35    PetscErrorCode, intent(in) :: ierr
36  end subroutine
37
38  subroutine PetscErrorMPI(ierr)
39    use, intrinsic :: ISO_C_binding
40    PetscErrorCode, intent(inout) :: ierr
41  end subroutine
42#endif
43
44  subroutine MPIU_abort(comm, ierr)
45    use, intrinsic :: ISO_C_binding
46    use petscmpi
47    MPIU_Comm, intent(in) ::  comm
48    PetscErrorCode, intent(in) ::  ierr
49  end subroutine
50
51  subroutine PetscViewerASCIIStdoutSetFileUnit(unit, ierr)
52    use, intrinsic :: ISO_C_binding
53    integer4 unit
54    PetscErrorCode, intent(out) :: ierr
55  end subroutine
56
57  subroutine PetscLogEventBegin(event, ierr)
58    use, intrinsic :: ISO_C_binding
59    PetscLogEvent, intent(in) :: event
60    PetscErrorCode, intent(out) :: ierr
61  end subroutine
62
63  subroutine PetscLogEventEnd(event, ierr)
64    use, intrinsic :: ISO_C_binding
65    PetscLogEvent, intent(in) :: event
66    PetscErrorCode, intent(out) :: ierr
67  end subroutine
68
69  subroutine PetscIntArray1dDestroy(a, ierr)
70    use, intrinsic :: ISO_C_binding
71    PetscInt, pointer :: a(:)
72    PetscErrorCode    :: ierr
73  end subroutine
74
75  subroutine PetscShmgetAllocateArrayScalar(start, len, d1, ierr)
76    use, intrinsic :: ISO_C_binding
77    PetscInt :: start, len
78    PetscScalar, pointer :: d1(:)
79    PetscErrorCode, intent(out) :: ierr
80  end subroutine
81
82  subroutine PetscShmgetDeallocateArrayScalar(d1, ierr)
83    use, intrinsic :: ISO_C_binding
84    PetscScalar, pointer :: d1(:)
85    PetscErrorCode, intent(out) :: ierr
86  end subroutine
87
88  subroutine PetscShmgetAllocateArrayInt(start, len, d1, ierr)
89    use, intrinsic :: ISO_C_binding
90    PetscInt :: start, len
91    PetscInt, pointer :: d1(:)
92    PetscErrorCode, intent(out) :: ierr
93  end subroutine
94
95  subroutine PetscShmgetDeallocateArrayInt(d1, ierr)
96    use, intrinsic :: ISO_C_binding
97    PetscInt, pointer :: d1(:)
98    PetscErrorCode, intent(out) :: ierr
99  end subroutine
100end interface
101
102#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
103!DEC$ ATTRIBUTES DLLEXPORT::PetscPrintf
104!DEC$ ATTRIBUTES DLLEXPORT::PetscSynchronizedPrintf
105!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorf
106!DEC$ ATTRIBUTES DLLEXPORT::PetscErrorMPI
107!DEC$ ATTRIBUTES DLLEXPORT::MPIU_abort
108!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIStdoutSetFileUnit
109!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventBegin
110!DEC$ ATTRIBUTES DLLEXPORT::PetscLogEventEnd
111!DEC$ ATTRIBUTES DLLEXPORT::PetscIntArray1dDestroy
112!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayScalar
113!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayScalar
114!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetAllocateArrayInt
115!DEC$ ATTRIBUTES DLLEXPORT::PetscShmgetDeallocateArrayInt
116#endif
117