xref: /petsc/src/sys/ftn-mod/petscviewer.h90 (revision 0b8bdde92eb4bc9ed9cee42fe7fcadba66103007)
1interface
2  subroutine PetscFortranPrintToFileUnit(unit, str, ierr)
3    use, intrinsic :: ISO_C_binding
4    import tPetscViewer
5    integer unit
6    character(len=*), intent(in) :: str
7    PetscErrorCode, intent(out):: ierr
8  end subroutine
9
10  subroutine PetscViewerASCIIOpenWithFileUnit(comm, unit, viewer, ierr)
11    use, intrinsic :: ISO_C_binding
12    use petscmpi
13    import tPetscViewer
14    MPIU_Comm, intent(in) :: comm
15    integer, intent(in) :: unit
16    PetscViewer, intent(out) :: viewer
17    PetscErrorCode, intent(out):: ierr
18  end subroutine
19
20  subroutine PetscViewerASCIISetFileUnit(viewer, unit, ierr)
21    use, intrinsic :: ISO_C_binding
22    import tPetscViewer
23    PetscViewer, intent(in) :: viewer
24    integer, intent(in) :: unit
25    PetscErrorCode, intent(out):: ierr
26  end subroutine
27
28  subroutine PetscViewerASCIISynchronizedPrintf(viewer, msg, ierr)
29    use, intrinsic :: ISO_C_binding
30    import tPetscViewer
31    PetscViewer, intent(in) :: viewer
32    character(len=*) :: msg
33    PetscErrorCode, intent(out) :: ierr
34  end subroutine
35
36  subroutine PetscViewerASCIIPrintf(viewer, msg, ierr)
37    use, intrinsic :: ISO_C_binding
38    import tPetscViewer
39    PetscViewer, intent(in) :: viewer
40    character(len=*) :: msg
41    PetscErrorCode, intent(out) :: ierr
42  end subroutine
43
44end interface
45
46#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
47!DEC$ ATTRIBUTES DLLEXPORT::PetscFortranPrintToFileUnit
48!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIOpenWithFileUnit
49!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIISetFileUnit
50!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIISynchronizedPrintf
51!DEC$ ATTRIBUTES DLLEXPORT::PetscViewerASCIIPrintf
52#endif
53
54interface PetscViewerBinaryWrite
55  subroutine PetscViewerBinaryWriteInt(viewer, data, count, ierr)
56    use, intrinsic :: ISO_C_binding
57    import tPetscViewer
58    PetscViewer viewer
59    PetscInt data(*)
60    PetscInt count
61    PetscErrorCode, intent(out):: ierr
62  end subroutine
63  subroutine PetscViewerBinaryWriteScalar(viewer, data, count, ierr)
64    use, intrinsic :: ISO_C_binding
65    import tPetscViewer
66    PetscViewer viewer
67    PetscScalar data(*)
68    PetscInt count
69    PetscErrorCode, intent(out):: ierr
70  end subroutine
71#if defined(PETSC_USE_COMPLEX)
72  subroutine PetscViewerBinaryWriteReal(viewer, data, count, ierr)
73    use, intrinsic :: ISO_C_binding
74    import tPetscViewer
75    PetscViewer viewer
76    PetscReal data(*)
77    PetscInt count
78    PetscErrorCode, intent(out):: ierr
79  end subroutine
80#endif
81end interface PetscViewerBinaryWrite
82
83interface PetscViewerBinaryRead
84  subroutine PetscViewerBinaryReadInt(viewer, data, count, ierr)
85    use, intrinsic :: ISO_C_binding
86    import tPetscViewer
87    PetscViewer viewer
88    PetscInt data(*)
89    PetscInt count
90    PetscErrorCode, intent(out):: ierr
91  end subroutine
92  subroutine PetscViewerBinaryReadScalar(viewer, data, count, ierr)
93    use, intrinsic :: ISO_C_binding
94    import tPetscViewer
95    PetscViewer viewer
96    PetscScalar data(*)
97    PetscInt count
98    PetscErrorCode, intent(out):: ierr
99  end subroutine
100#if defined(PETSC_USE_COMPLEX)
101  subroutine PetscViewerBinaryReadReal(viewer, data, count, ierr)
102    use, intrinsic :: ISO_C_binding
103    import tPetscViewer
104    PetscViewer viewer
105    PetscReal data(*)
106    PetscInt count
107    PetscErrorCode, intent(out):: ierr
108  end subroutine
109#endif
110end interface PetscViewerBinaryRead
111
112interface PetscViewerHDF5WriteAttribute
113  subroutine PetscViewerHDF5WriteAttributeInt(viewer, parent, name, value, ierr)
114    use, intrinsic :: ISO_C_binding
115    import tPetscViewer
116    PetscViewer :: viewer
117    character(len=*), intent(in) :: parent, name
118    PetscInt, intent(in) :: value
119    PetscErrorCode, intent(out):: ierr
120  end subroutine PetscViewerHDF5WriteAttributeInt
121  subroutine PetscViewerHDF5WriteAttributeScalar(viewer, parent, name, value, ierr)
122    use, intrinsic :: ISO_C_binding
123    import tPetscViewer
124    PetscViewer :: viewer
125    character(len=*), intent(in) :: parent, name
126    PetscScalar, intent(in) :: value
127    PetscErrorCode, intent(out):: ierr
128  end subroutine PetscViewerHDF5WriteAttributeScalar
129#if defined(PETSC_USE_COMPLEX)
130  subroutine PetscViewerHDF5WriteAttributeReal(viewer, parent, name, value, ierr)
131    use, intrinsic :: ISO_C_binding
132    import tPetscViewer
133    PetscViewer :: viewer
134    character(len=*), intent(in) :: parent, name
135    PetscReal, intent(in) :: value
136    PetscErrorCode, intent(out):: ierr
137  end subroutine PetscViewerHDF5WriteAttributeReal
138#endif
139end interface PetscViewerHDF5WriteAttribute
140