Actual source code: viewa.c

  1: #include <petsc/private/viewerimpl.h>

  3: const char *const PetscViewerFormats[] = {"DEFAULT", "ASCII_MATLAB", "ASCII_MATHEMATICA", "ASCII_IMPL", "ASCII_INFO", "ASCII_INFO_DETAIL", "ASCII_COMMON", "ASCII_SYMMODU", "ASCII_INDEX", "ASCII_DENSE", "ASCII_MATRIXMARKET", "ASCII_VTK", "ASCII_VTK_CELL", "ASCII_VTK_COORDS", "ASCII_PCICE", "ASCII_PYTHON", "ASCII_FACTOR_INFO", "ASCII_LATEX", "ASCII_XML", "ASCII_FLAMEGRAPH", "ASCII_GLVIS", "ASCII_CSV", "DRAW_BASIC", "DRAW_LG", "DRAW_LG_XRANGE", "DRAW_CONTOUR", "DRAW_PORTS", "VTK_VTS", "VTK_VTR", "VTK_VTU", "BINARY_MATLAB", "NATIVE", "HDF5_PETSC", "HDF5_VIZ", "HDF5_XDMF", "HDF5_MAT", "NOFORMAT", "LOAD_BALANCE", "FAILED", "ALL", "PetscViewerFormat", "PETSC_VIEWER_", NULL};

  5: /*@C
  6:   PetscViewerSetFormat - Sets the format for a `PetscViewer`.

  8:   Logically Collective, No Fortran Support

 10:   This routine is deprecated, you should use `PetscViewerPushFormat()`/`PetscViewerPopFormat()`

 12:   Input Parameters:
 13: + viewer - the `PetscViewer`
 14: - format - the format

 16:   Level: deprecated

 18:   Note:
 19:   See `PetscViewerFormat` for available values

 21: .seealso: [](sec_viewers), `PetscViewerGetFormat()`, `PetscViewerASCIIOpen()`, `PetscViewerBinaryOpen()`, `MatView()`, `VecView()`, `PetscViewerType`,
 22:           `PetscViewerPushFormat()`, `PetscViewerPopFormat()`, `PetscViewerDrawOpen()`, `PetscViewerSocketOpen()`
 23: @*/
 24: PetscErrorCode PetscViewerSetFormat(PetscViewer viewer, PetscViewerFormat format)
 25: {
 26:   PetscFunctionBegin;
 27:   if (!viewer) viewer = PETSC_VIEWER_STDOUT_SELF;
 30:   viewer->format = format;
 31:   PetscFunctionReturn(PETSC_SUCCESS);
 32: }

 34: /*@
 35:   PetscViewerPushFormat - Sets the format for a `PetscViewer`.

 37:   Logically Collective

 39:   Input Parameters:
 40: + viewer - the `PetscViewer`
 41: - format - the format

 43:   Level: intermediate

 45:   Note:
 46:   See `PetscViewerFormat` for available values

 48: .seealso: [](sec_viewers), `PetscViewer`, `PetscViewerFormat`, `PetscViewerASCIIOpen()`, `PetscViewerBinaryOpen()`, `MatView()`, `VecView()`,
 49:           `PetscViewerSetFormat()`, `PetscViewerPopFormat()`
 50: @*/
 51: PetscErrorCode PetscViewerPushFormat(PetscViewer viewer, PetscViewerFormat format)
 52: {
 53:   PetscFunctionBegin;
 56:   PetscCheck(viewer->iformat <= PETSCVIEWERFORMATPUSHESMAX - 1, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Too many PetscViewerPushFormat(), perhaps you forgot PetscViewerPopFormat()?");

 58:   viewer->formats[viewer->iformat++] = viewer->format;
 59:   viewer->format                     = format;
 60:   PetscFunctionReturn(PETSC_SUCCESS);
 61: }

 63: /*@
 64:   PetscViewerPopFormat - Resets the format for a `PetscViewer` to the value it had before the previous call to `PetscViewerPushFormat()`

 66:   Logically Collective

 68:   Input Parameter:
 69: . viewer - the `PetscViewer`

 71:   Level: intermediate

 73: .seealso: [](sec_viewers), `PetscViewer`, `PetscViewerFormat`, `PetscViewerASCIIOpen()`, `PetscViewerBinaryOpen()`, `MatView()`, `VecView()`,
 74:           `PetscViewerSetFormat()`, `PetscViewerPushFormat()`
 75: @*/
 76: PetscErrorCode PetscViewerPopFormat(PetscViewer viewer)
 77: {
 78:   PetscFunctionBegin;
 80:   if (viewer->iformat <= 0) PetscFunctionReturn(PETSC_SUCCESS);

 82:   viewer->format = viewer->formats[--viewer->iformat];
 83:   PetscFunctionReturn(PETSC_SUCCESS);
 84: }

 86: /*@
 87:   PetscViewerGetFormat - Gets the current format for `PetscViewer`.

 89:   Not Collective

 91:   Input Parameter:
 92: . viewer - the `PetscViewer`

 94:   Output Parameter:
 95: . format - the format

 97:   Level: intermediate

 99:   Note:
100:   See `PetscViewerFormat` for available values

102: .seealso: [](sec_viewers), `PetscViewer`, `PetscViewerASCIIOpen()`, `PetscViewerBinaryOpen()`, `MatView()`, `VecView()`, `PetscViewerType`,
103:           `PetscViewerPushFormat()`, `PetscViewerPopFormat()`, `PetscViewerDrawOpen()`, `PetscViewerSocketOpen()`
104: @*/
105: PetscErrorCode PetscViewerGetFormat(PetscViewer viewer, PetscViewerFormat *format)
106: {
107:   PetscFunctionBegin;
108:   *format = viewer->format;
109:   PetscFunctionReturn(PETSC_SUCCESS);
110: }