xref: /petsc/src/sys/logging/ftn-custom/zplogf.c (revision bebe2cf65d55febe21a5af8db2bd2e168caaa2e7)
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   PetscViewer v;
57   PetscPatchDefaultViewers_Fortran(viewer,v);
58   *ierr = PetscLogView(v);
59 }
60 
61 PETSC_EXTERN void PETSC_STDCALL petsclogdump_(CHAR name PETSC_MIXED_LEN(len),PetscErrorCode *ierr PETSC_END_LEN(len))
62 {
63 #if defined(PETSC_USE_LOG)
64   char *t1;
65   FIXCHAR(name,len,t1);
66   *ierr = PetscLogDump(t1);
67   FREECHAR(name,t1);
68 #endif
69 }
70 PETSC_EXTERN void PETSC_STDCALL petsclogeventregister_(CHAR string PETSC_MIXED_LEN(len),PetscClassId *classid,PetscLogEvent *e,PetscErrorCode *ierr PETSC_END_LEN(len))
71 {
72 #if defined(PETSC_USE_LOG)
73   char *t1;
74   FIXCHAR(string,len,t1);
75   *ierr = PetscLogEventRegister(t1,*classid,e);
76   FREECHAR(string,t1);
77 #endif
78 }
79 PETSC_EXTERN void PETSC_STDCALL petscclassidregister_(CHAR string PETSC_MIXED_LEN(len),PetscClassId *e,PetscErrorCode *ierr PETSC_END_LEN(len))
80 {
81 #if defined(PETSC_USE_LOG)
82   char *t1;
83   FIXCHAR(string,len,t1);
84 
85   *ierr = PetscClassIdRegister(t1,e);
86   FREECHAR(string,t1);
87 #endif
88 }
89 
90 PETSC_EXTERN void PETSC_STDCALL petsclogallbegin_(PetscErrorCode *ierr)
91 {
92 #if defined(PETSC_USE_LOG)
93   *ierr = PetscLogAllBegin();
94 #endif
95 }
96 
97 PETSC_EXTERN void PETSC_STDCALL petsclogdestroy_(PetscErrorCode *ierr)
98 {
99 #if defined(PETSC_USE_LOG)
100   *ierr = PetscLogDestroy();
101 #endif
102 }
103 
104 PETSC_EXTERN void PETSC_STDCALL petsclogbegin_(PetscErrorCode *ierr)
105 {
106 #if defined(PETSC_USE_LOG)
107   *ierr = PetscLogBegin();
108 #endif
109 }
110 
111 PETSC_EXTERN void PETSC_STDCALL petsclogstagepop_(PetscErrorCode *ierr)
112 {
113 #if defined(PETSC_USE_LOG)
114   *ierr = PetscLogStagePop();
115 #endif
116 }
117 
118 PETSC_EXTERN void PETSC_STDCALL petsclogstageregister_(CHAR sname PETSC_MIXED_LEN(len),PetscLogStage *stage,PetscErrorCode *ierr PETSC_END_LEN(len))
119 {
120 #if defined(PETSC_USE_LOG)
121   char *t;
122   FIXCHAR(sname,len,t);
123   *ierr = PetscLogStageRegister(t,stage);
124   FREECHAR(sname,t);
125 #endif
126 }
127 
128 PETSC_EXTERN void PETSC_STDCALL petsclogstagepush_(PetscLogStage *stage,PetscErrorCode *ierr)
129 {
130 #if defined(PETSC_USE_LOG)
131   *ierr = PetscLogStagePush(*stage);
132 #endif
133 }
134 
135 PETSC_EXTERN void PETSC_STDCALL petscgetflops_(PetscLogDouble *d,PetscErrorCode *ierr)
136 {
137 #if defined(PETSC_USE_LOG)
138   *ierr = PetscGetFlops(d);
139 #else
140   ierr = 0;
141   *d   = 0.0;
142 #endif
143 }
144 
145 PETSC_EXTERN void PETSC_STDCALL petsclogstagegetid_(CHAR sname PETSC_MIXED_LEN(len),PetscLogStage *stage, int *ierr PETSC_END_LEN(len))
146 {
147 #if defined(PETSC_USE_LOG)
148   char *t;
149   FIXCHAR(sname,len,t);
150   *ierr = PetscLogStageGetId(t,stage);
151   FREECHAR(sname,t);
152 #endif
153 }
154