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