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