xref: /petsc/src/sys/logging/ftn-custom/zplogf.c (revision dced61a5cfeeeda68dfa4ee3e53b34d3cfb8da9f)
1 
2 #include <petsc/private/fortranimpl.h>
3 #include <petscviewer.h>
4 
5 #if defined(PETSC_HAVE_FORTRAN_CAPS)
6 #define petsclogview_             PETSCLOGVIEW
7 #define petsclogallbegin_         PETSCLOGALLBEGIN
8 #define petsclogdestroy_          PETSCLOGDESTROY
9 #define petsclogbegin_            PETSCLOGBEGIN
10 #define petsclogdump_             PETSCLOGDUMP
11 #define petsclogeventregister_    PETSCLOGEVENTREGISTER
12 #define petsclogstagepop_         PETSCLOGSTAGEPOP
13 #define petsclogstageregister_    PETSCLOGSTAGEREGISTER
14 #define petscclassidregister_     PETSCCLASSIDREGISTER
15 #define petsclogstagepush_        PETSCLOGSTAGEPUSH
16 #define petscgetflops_            PETSCGETFLOPS
17 #define petsclogstagegetid_       PETSCLOGSTAGEGETID
18 #define petsclogeventbegin_       PETSCLOGEVENTBEGIN
19 #define petsclogeventend_         PETSCLOGEVENTEND
20 #define petsclogflops_            PETSCLOGFLOPS
21 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
22 #define petsclogview_             petsclogview
23 #define petsclogallbegin_         petsclogallbegin
24 #define petsclogdestroy_          petsclogdestroy
25 #define petsclogbegin_            petsclogbegin
26 #define petsclogeventregister_    petsclogeventregister
27 #define petsclogdump_             petsclogdump
28 #define petsclogstagepop_         petsclogstagepop
29 #define petsclogstageregister_    petsclogstageregister
30 #define petscclassidregister_     petscclassidregister
31 #define petsclogstagepush_        petsclogstagepush
32 #define petscgetflops_            petscgetflops
33 #define petsclogstagegetid_       petsclogstagegetid
34 #define petsclogeventbegin_       petsclogeventbegin
35 #define petsclogeventend_         petsclogeventend
36 #define petsclogflops_            petsclogflops
37 #endif
38 
39 PETSC_EXTERN void PETSC_STDCALL petsclogeventbegin_(PetscLogEvent *e,PetscErrorCode *ierr)
40 {
41   *ierr = PetscLogEventBegin(*e,0,0,0,0);
42 }
43 
44 PETSC_EXTERN void PETSC_STDCALL petsclogeventend_(PetscLogEvent *e,PetscErrorCode *ierr)
45 {
46   *ierr = PetscLogEventEnd(*e,0,0,0,0);
47 }
48 
49 PETSC_EXTERN void PETSC_STDCALL petsclogflops_(PetscLogDouble *f,PetscErrorCode *ierr)
50 {
51   *ierr = PetscLogFlops(*f);
52 }
53 
54 PETSC_EXTERN void PETSC_STDCALL petsclogview_(PetscViewer *viewer,PetscErrorCode *ierr PETSC_END_LEN(len))
55 {
56 #if defined(PETSC_USE_LOG)
57   PetscViewer v;
58   PetscPatchDefaultViewers_Fortran(viewer,v);
59   *ierr = PetscLogView(v);
60 #endif
61 }
62 
63 PETSC_EXTERN void PETSC_STDCALL petsclogdump_(CHAR name PETSC_MIXED_LEN(len),PetscErrorCode *ierr PETSC_END_LEN(len))
64 {
65 #if defined(PETSC_USE_LOG)
66   char *t1;
67   FIXCHAR(name,len,t1);
68   *ierr = PetscLogDump(t1);
69   FREECHAR(name,t1);
70 #endif
71 }
72 PETSC_EXTERN void PETSC_STDCALL petsclogeventregister_(CHAR string PETSC_MIXED_LEN(len),PetscClassId *classid,PetscLogEvent *e,PetscErrorCode *ierr PETSC_END_LEN(len))
73 {
74 #if defined(PETSC_USE_LOG)
75   char *t1;
76   FIXCHAR(string,len,t1);
77   *ierr = PetscLogEventRegister(t1,*classid,e);
78   FREECHAR(string,t1);
79 #endif
80 }
81 PETSC_EXTERN void PETSC_STDCALL petscclassidregister_(CHAR string PETSC_MIXED_LEN(len),PetscClassId *e,PetscErrorCode *ierr PETSC_END_LEN(len))
82 {
83 #if defined(PETSC_USE_LOG)
84   char *t1;
85   FIXCHAR(string,len,t1);
86 
87   *ierr = PetscClassIdRegister(t1,e);
88   FREECHAR(string,t1);
89 #endif
90 }
91 
92 PETSC_EXTERN void PETSC_STDCALL petsclogallbegin_(PetscErrorCode *ierr)
93 {
94 #if defined(PETSC_USE_LOG)
95   *ierr = PetscLogAllBegin();
96 #endif
97 }
98 
99 PETSC_EXTERN void PETSC_STDCALL petsclogdestroy_(PetscErrorCode *ierr)
100 {
101 #if defined(PETSC_USE_LOG)
102   *ierr = PetscLogDestroy();
103 #endif
104 }
105 
106 PETSC_EXTERN void PETSC_STDCALL petsclogbegin_(PetscErrorCode *ierr)
107 {
108 #if defined(PETSC_USE_LOG)
109   *ierr = PetscLogBegin();
110 #endif
111 }
112 
113 PETSC_EXTERN void PETSC_STDCALL petsclogstagepop_(PetscErrorCode *ierr)
114 {
115 #if defined(PETSC_USE_LOG)
116   *ierr = PetscLogStagePop();
117 #endif
118 }
119 
120 PETSC_EXTERN void PETSC_STDCALL petsclogstageregister_(CHAR sname PETSC_MIXED_LEN(len),PetscLogStage *stage,PetscErrorCode *ierr PETSC_END_LEN(len))
121 {
122 #if defined(PETSC_USE_LOG)
123   char *t;
124   FIXCHAR(sname,len,t);
125   *ierr = PetscLogStageRegister(t,stage);
126   FREECHAR(sname,t);
127 #endif
128 }
129 
130 PETSC_EXTERN void PETSC_STDCALL petsclogstagepush_(PetscLogStage *stage,PetscErrorCode *ierr)
131 {
132 #if defined(PETSC_USE_LOG)
133   *ierr = PetscLogStagePush(*stage);
134 #endif
135 }
136 
137 PETSC_EXTERN void PETSC_STDCALL petscgetflops_(PetscLogDouble *d,PetscErrorCode *ierr)
138 {
139 #if defined(PETSC_USE_LOG)
140   *ierr = PetscGetFlops(d);
141 #else
142   ierr = 0;
143   *d   = 0.0;
144 #endif
145 }
146 
147 PETSC_EXTERN void PETSC_STDCALL petsclogstagegetid_(CHAR sname PETSC_MIXED_LEN(len),PetscLogStage *stage, int *ierr PETSC_END_LEN(len))
148 {
149 #if defined(PETSC_USE_LOG)
150   char *t;
151   FIXCHAR(sname,len,t);
152   *ierr = PetscLogStageGetId(t,stage);
153   FREECHAR(sname,t);
154 #endif
155 }
156