PetscMemcpy#

Copies n bytes, beginning at location b, to the space beginning at location a. The two memory regions CANNOT overlap, use PetscMemmove() in that case.

Synopsis#

static inline PetscErrorCode PetscMemcpy(void *a, const void *b, size_t n)

Not Collective, No Fortran Support

Input Parameters#

  • b - pointer to initial memory space

  • n - length (in bytes) of space to copy

Output Parameter#

  • a - pointer to copy space

Compile Options:

  • PETSC_PREFER_DCOPY_FOR_MEMCPY - cause the BLAS dcopy() routine to be used for memory copies on double precision values.

  • PETSC_PREFER_COPY_FOR_MEMCPY - cause C code to be used for memory copies on double precision values.

  • PETSC_PREFER_FORTRAN_FORMEMCPY - cause Fortran code to be used for memory copies on double precision values.

Notes#

Prefer PetscArraycpy()

This routine is analogous to memcpy().

See Also#

PetscMemzero(), PetscMemcmp(), PetscArrayzero(), PetscArraycmp(), PetscArraycpy(), PetscMemmove(), PetscStrallocpy()

Level#

intermediate

Location#

include/petscstring.h

Examples#

src/ksp/ksp/tutorials/ex74.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex10.c


Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages