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