petsc-3.10.5 2019-03-28
Report Typos and Errors

# PetscBinaryRead

Reads from a binary file.

### Synopsis

    PetscErrorCode  PetscBinaryRead(int fd,void *p,PetscInt n,PetscDataType type)

Not Collective

### Input Parameters

| fd | - the file
| n | - the number of items to read
| type | - the type of items to read (PETSC_INT, PETSC_DOUBLE or PETSC_SCALAR)

### Output Parameters

p -the buffer

### Notes

PetscBinaryRead() uses byte swapping to work on all machines; the files are written to file ALWAYS using big-endian ordering. On small-endian machines the numbers are converted to the small-endian format when they are read in from the file. When PETSc is ./configure with --with-64bit-indices the integers are written to the file as 64 bit integers, this means they can only be read back in when the option --with-64bit-indices is used.

### See Also

PetscBinaryWrite(), PetscBinaryOpen(), PetscBinaryClose(), PetscViewerBinaryGetDescriptor(), PetscBinarySynchronizedWrite(),
PetscBinarySynchronizedRead(), PetscBinarySynchronizedSeek()

### Level

developer

### Location

src/sys/fileio/sysio.c

### Examples

src/vec/vec/examples/tutorials/ex6.c.html
src/mat/examples/tutorials/ex5.c.html
src/dm/examples/tutorials/ex15.c.html
src/ksp/ksp/examples/tutorials/ex54f.F90.html
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages