PetscBinaryRead#
Reads from a binary file.
Synopsis#
PetscErrorCode PetscBinaryRead(int fd, void *data, PetscCount num, PetscInt *count, PetscDataType type)
Not Collective
Input Parameters#
fd - the file descriptor
num - the maximum number of items to read
type - the type of items to read (
PETSC_INT
,PETSC_REAL
,PETSC_SCALAR
, etc.)
Output Parameters#
data - the buffer, this is an array of the type that matches the value in
type
count - the number of items read, optional
Notes#
If count
is not provided and the number of items read is less than
the maximum number of items to read, then this routine errors.
PetscBinaryRead()
uses byte swapping to work on all machines; the files
are written ALWAYS using big-endian ordering. On little-endian machines the numbers
are converted to the little-endian format when they are read in from the file.
When PETSc is ./configure with --with-64-bit-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-64-bit-indices
is used.
Fortran Note#
There are different functions for each datatype, for example PetscBinaryReadInt()
See Also#
PetscBinaryWrite()
, PetscBinaryOpen()
, PetscBinaryClose()
, PetscViewerBinaryGetDescriptor()
, PetscBinarySynchronizedWrite()
,
PetscBinarySynchronizedRead()
, PetscBinarySynchronizedSeek()
Level#
developer
Location#
Examples#
src/vec/vec/tutorials/ex6.c
src/vec/vec/tutorials/ex6f.F90
src/dm/tutorials/ex15.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages