1: #pragma once
3: #include <petscviewer.h>
4: #include <SAWs.h>
6: /* MANSEC = Viewer */
8: PETSC_EXTERN PetscErrorCode PetscViewerSAWsOpen(MPI_Comm, PetscViewer *);
9: PETSC_EXTERN PetscViewer PETSC_VIEWER_SAWS_(MPI_Comm);
10: #define PETSC_VIEWER_SAWS_WORLD PETSC_VIEWER_SAWS_(PETSC_COMM_WORLD)
11: #define PETSC_VIEWER_SAWS_SELF PETSC_VIEWER_SAWS_(PETSC_COMM_SELF)
13: #define PetscCallSAWs(func, args) \
14: do { \
15: int _ierr; \
16: PetscStackPushExternal(#func); \
17: _ierr = func args; \
18: PetscStackPop; \
19: PetscCheck(!_ierr, PETSC_COMM_SELF, PETSC_ERR_LIB, "Error in %s() %d", #func, _ierr); \
20: } while (0)