xref: /petsc/include/petscviewersaws.h (revision 0ff9d02ecf1627951ed050a8344155223c6ca4ea)
1a4963045SJacob Faibussowitsch #pragma once
2e04113cfSBarry Smith 
3e04113cfSBarry Smith #include <petscviewer.h>
4e04113cfSBarry Smith #include <SAWs.h>
5*1850900dSBarry Smith 
6*1850900dSBarry Smith /* MANSEC = Viewer */
7*1850900dSBarry Smith 
892081c13SBarry Smith PETSC_EXTERN PetscErrorCode PetscViewerSAWsOpen(MPI_Comm, PetscViewer *);
9e04113cfSBarry Smith PETSC_EXTERN PetscViewer    PETSC_VIEWER_SAWS_(MPI_Comm);
10e04113cfSBarry Smith #define PETSC_VIEWER_SAWS_WORLD PETSC_VIEWER_SAWS_(PETSC_COMM_WORLD)
11e04113cfSBarry Smith #define PETSC_VIEWER_SAWS_SELF  PETSC_VIEWER_SAWS_(PETSC_COMM_SELF)
12e04113cfSBarry Smith 
139371c9d4SSatish Balay #define PetscCallSAWs(func, args) \
149371c9d4SSatish Balay   do { \
153ba16761SJacob Faibussowitsch     int _ierr; \
169371c9d4SSatish Balay     PetscStackPushExternal(#func); \
179371c9d4SSatish Balay     _ierr = func args; \
189371c9d4SSatish Balay     PetscStackPop; \
199371c9d4SSatish Balay     PetscCheck(!_ierr, PETSC_COMM_SELF, PETSC_ERR_LIB, "Error in %s() %d", #func, _ierr); \
20e04113cfSBarry Smith   } while (0)
21