1c96caaccSSatish Balay! 2c96caaccSSatish Balay! 3c96caaccSSatish Balay! Fortran kernel for the copy vector routine 4c96caaccSSatish Balay! 5c96caaccSSatish Balay#include <petsc/finclude/petscsys.h> 6c96caaccSSatish Balay! 70ccf82acSMartin Diehlpure subroutine FortranCopy(n,x,y) 80ccf82acSMartin Diehl implicit none (type, external) 90ccf82acSMartin Diehl PetscScalar, intent(in) :: x(*) 100ccf82acSMartin Diehl PetscScalar, intent(inout) :: y(*) 110ccf82acSMartin Diehl PetscInt, intent(in) :: n 120ccf82acSMartin Diehl 13c96caaccSSatish Balay PETSC_AssertAlignx(16,x(1)) 14c96caaccSSatish Balay PETSC_AssertAlignx(16,y(1)) 150113e719SMartin Diehl 16*d66e387eSMartin Diehl y(1:n) = x(1:n) 170113e719SMartin Diehlend subroutine FortranCopy 18c96caaccSSatish Balay 190ccf82acSMartin Diehlpure subroutine FortranZero(n,x) 200ccf82acSMartin Diehl implicit none (type, external) 210ccf82acSMartin Diehl PetscScalar, intent(inout) :: x(*) 220ccf82acSMartin Diehl PetscInt, intent(in) :: n 230ccf82acSMartin Diehl 24c96caaccSSatish Balay PETSC_AssertAlignx(16,x(1)) 250113e719SMartin Diehl 26*d66e387eSMartin Diehl x(1:n) = 0.0 270113e719SMartin Diehlend subroutine FortranZero 28