Actual source code: petscviewersaws.h

  1: #pragma once

  3: #include <petscviewer.h>
  4: #include <SAWs.h>

  6: /* MANSEC = Viewer */

  8: PETSC_EXTERN PetscErrorCode PetscViewerSAWsOpen(MPI_Comm, PetscViewer *);
  9: PETSC_EXTERN PetscViewer    PETSC_VIEWER_SAWS_(MPI_Comm);
 10: #define PETSC_VIEWER_SAWS_WORLD PETSC_VIEWER_SAWS_(PETSC_COMM_WORLD)
 11: #define PETSC_VIEWER_SAWS_SELF  PETSC_VIEWER_SAWS_(PETSC_COMM_SELF)

 13: #define PetscCallSAWs(func, args) \
 14:   do { \
 15:     int _ierr; \
 16:     PetscStackPushExternal(#func); \
 17:     _ierr = func args; \
 18:     PetscStackPop; \
 19:     PetscCheck(!_ierr, PETSC_COMM_SELF, PETSC_ERR_LIB, "Error in %s() %d", #func, _ierr); \
 20:   } while (0)