PETSC_EXTERN PetscErrorCode PetscViewerCreate_Binary(PetscViewer v) { PetscErrorCode ierr; PetscViewer_Binary *vbinary; #if defined(PETSC_HAVE_MPIIO) PetscBool useMPIIO = PETSC_FALSE; #endif PetscFunctionBegin; ierr = PetscNewLog(v,&vbinary);CHKERRQ(ierr); v->data = (void*)vbinary; v->ops->destroy = PetscViewerDestroy_Binary; v->ops->view = PetscViewerView_Binary; v->ops->flush = 0; vbinary->fdes_info = 0; vbinary->fdes = 0; vbinary->skipinfo = PETSC_FALSE; vbinary->skipoptions = PETSC_TRUE; vbinary->skipheader = PETSC_FALSE; v->ops->getsingleton = PetscViewerGetSingleton_Binary; v->ops->restoresingleton = PetscViewerRestoreSingleton_Binary; vbinary->btype = (PetscFileMode) -1; vbinary->storecompressed = PETSC_FALSE; vbinary->filename = 0; vbinary->flowcontrol = 256; /* seems a good number for Cray XT-5 */ ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerBinaryGetFlowControl_C",PetscViewerBinaryGetFlowControl_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerBinarySetFlowControl_C",PetscViewerBinarySetFlowControl_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerBinarySetSkipHeader_C",PetscViewerBinarySetSkipHeader_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerBinaryGetSkipHeader_C",PetscViewerBinaryGetSkipHeader_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerBinaryGetInfoPointer_C",PetscViewerBinaryGetInfoPointer_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerFileSetName_C",PetscViewerFileSetName_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerFileSetMode_C",PetscViewerFileSetMode_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerFileGetMode_C",PetscViewerFileGetMode_Binary);CHKERRQ(ierr); ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerFileGetName_C",PetscViewerFileGetName_Binary);CHKERRQ(ierr); #if defined(PETSC_HAVE_MPIIO) ierr = PetscObjectComposeFunction((PetscObject)v,"PetscViewerBinarySetMPIIO_C",PetscViewerBinarySetMPIIO_Binary);CHKERRQ(ierr); ierr = PetscOptionsGetBool(NULL,"-viewer_binary_mpiio",&useMPIIO,NULL);CHKERRQ(ierr); if (useMPIIO) { ierr = PetscViewerBinarySetMPIIO(v);CHKERRQ(ierr); } #endif PetscFunctionReturn(0); }
void PETSC_STDCALL petscviewerbinarysetmpiio_(PetscViewer viewer, int *__ierr ){ *__ierr = PetscViewerBinarySetMPIIO( (PetscViewer)PetscToPointer((viewer) )); }