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: }