/* This file contains simple binary read/write routines. */ #include #include #include #if defined(PETSC_HAVE_UNISTD_H) #include #endif #if defined (PETSC_HAVE_IO_H) #include #endif #include /* --------------------------------------------------------- */ #undef __FUNCT__ #define __FUNCT__ "PetscByteSwapEnum" /* PetscByteSwapEnum - Swap bytes in a PETSc Enum */ PetscErrorCode PetscByteSwapEnum(PetscEnum *buff,PetscInt n) { PetscInt i,j; PetscEnum tmp = ENUM_DUMMY; char *ptr1,*ptr2 = (char*)&tmp; PetscFunctionBegin; for (j=0; j 0) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_FILE_READ,"Read past end of file"); if (err < 0) SETERRQ1(PETSC_COMM_SELF,PETSC_ERR_FILE_READ,"Error reading from file, errno %d",errno); m -= err; pp += err; } #if defined(PETSC_USE_REAL___FLOAT128) if (type == PETSC_SCALAR) { PetscScalar *pv = (PetscScalar*) p; PetscInt i; #if !defined(PETSC_WORDS_BIGENDIAN) ierr = PetscByteSwapDouble(ppp,n);CHKERRQ(ierr); #endif for (i=0; i