2: #ifndef PETSCVIEWERSAWS_H
3: #define PETSCVIEWERSAWS_H
5: #include <petscviewer.h>
6: #include <SAWs.h>
7: PETSC_EXTERN PetscErrorCode PetscViewerSAWsOpen(MPI_Comm, PetscViewer *);
8: PETSC_EXTERN PetscViewer PETSC_VIEWER_SAWS_(MPI_Comm);
9: #define PETSC_VIEWER_SAWS_WORLD PETSC_VIEWER_SAWS_(PETSC_COMM_WORLD)
10: #define PETSC_VIEWER_SAWS_SELF PETSC_VIEWER_SAWS_(PETSC_COMM_SELF)
12: #define PetscCallSAWs(func, args) \
13: do { \
14: int _ierr; \
15: PetscStackPushExternal(#func); \
16: _ierr = func args; \
17: PetscStackPop; \
18: PetscCheck(!_ierr, PETSC_COMM_SELF, PETSC_ERR_LIB, "Error in %s() %d", #func, _ierr); \
19: } while (0)
21: #endif