1 2 #if !defined(PETSCVIEWERSAWS_H) 3 #define PETSCVIEWERSAWS_H 4 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) 11 12 #define PetscStackCallSAWs(func,args) do {PetscErrorCode _ierr; \ 13 PetscStackPush(#func);_ierr = func args;PetscStackPop; if (_ierr) SETERRQ2(PETSC_COMM_SELF,PETSC_ERR_LIB,"Error in %s() %d",#func,_ierr); \ 14 } while (0) 15 16 #endif 17