1c96caaccSSatish Balay! 2c96caaccSSatish Balay! 3c96caaccSSatish Balay! Fortran kernel for the copy vector routine 4c96caaccSSatish Balay! 5c96caaccSSatish Balay#include <petsc/finclude/petscsys.h> 6c96caaccSSatish Balay! 7c96caaccSSatish Balaysubroutine FortranCopy(n,x,y) 8c96caaccSSatish Balay implicit none 9c96caaccSSatish Balay PetscScalar x(*),y(*) 10c96caaccSSatish Balay PetscInt n 11c96caaccSSatish Balay PetscInt i 12*0113e719SMartin Diehl 13c96caaccSSatish Balay PETSC_AssertAlignx(16,x(1)) 14c96caaccSSatish Balay PETSC_AssertAlignx(16,y(1)) 15*0113e719SMartin Diehl 16*0113e719SMartin Diehl do i=1,n 17c96caaccSSatish Balay y(i) = x(i) 18*0113e719SMartin Diehl end do 19*0113e719SMartin Diehl 20*0113e719SMartin Diehlend subroutine FortranCopy 21c96caaccSSatish Balay 22c96caaccSSatish Balaysubroutine FortranZero(n,x) 23c96caaccSSatish Balay implicit none 24c96caaccSSatish Balay PetscScalar x(*) 25c96caaccSSatish Balay PetscInt n 26c96caaccSSatish Balay PetscInt i 27*0113e719SMartin Diehl 28c96caaccSSatish Balay PETSC_AssertAlignx(16,x(1)) 29*0113e719SMartin Diehl 30*0113e719SMartin Diehl do i=1,n 31c96caaccSSatish Balay x(i) = 0.0 32*0113e719SMartin Diehl end do 33*0113e719SMartin Diehl 34*0113e719SMartin Diehlend subroutine FortranZero 35