2: #if !defined(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 PetscStackCallSAWs(func,args) do {PetscErrorCode _ierr; \ 13: PetscStackPush(#func);_func args;PetscStackPop; if (_ierr) SETERRQ2(PETSC_COMM_SELF,PETSC_ERR_LIB,"Error in %s() %d",#func,_ierr); \ 14: } while (0) 16: #endif