xref: /petsc/include/petscviewersaws.h (revision 9371c9d470a9602b6d10a8bf50c9b2280a79e45a)
1e04113cfSBarry Smith 
226bd1501SBarry Smith #if !defined(PETSCVIEWERSAWS_H)
326bd1501SBarry Smith #define PETSCVIEWERSAWS_H
4e04113cfSBarry Smith 
5e04113cfSBarry Smith #include <petscviewer.h>
6e04113cfSBarry Smith #include <SAWs.h>
792081c13SBarry Smith PETSC_EXTERN PetscErrorCode PetscViewerSAWsOpen(MPI_Comm, PetscViewer *);
8e04113cfSBarry Smith PETSC_EXTERN PetscViewer    PETSC_VIEWER_SAWS_(MPI_Comm);
9e04113cfSBarry Smith #define PETSC_VIEWER_SAWS_WORLD PETSC_VIEWER_SAWS_(PETSC_COMM_WORLD)
10e04113cfSBarry Smith #define PETSC_VIEWER_SAWS_SELF  PETSC_VIEWER_SAWS_(PETSC_COMM_SELF)
11e04113cfSBarry Smith 
12*9371c9d4SSatish Balay #define PetscCallSAWs(func, args) \
13*9371c9d4SSatish Balay   do { \
14*9371c9d4SSatish Balay     PetscErrorCode _ierr; \
15*9371c9d4SSatish Balay     PetscStackPushExternal(#func); \
16*9371c9d4SSatish Balay     _ierr = func args; \
17*9371c9d4SSatish Balay     PetscStackPop; \
18*9371c9d4SSatish Balay     PetscCheck(!_ierr, PETSC_COMM_SELF, PETSC_ERR_LIB, "Error in %s() %d", #func, _ierr); \
19e04113cfSBarry Smith   } while (0)
20e04113cfSBarry Smith 
21e04113cfSBarry Smith #endif
22