1: #include <petsc/finclude/petscsys.h> 2: ! 4: pure subroutine Fortranxtimesy(x,y,z,n) 5: use, intrinsic :: ISO_C_binding 6: implicit none (type, external) 7: PetscScalar, intent(in) :: x(*),y(*) 8: PetscScalar, intent(inout) :: z(*) 9: PetscInt, intent(in) :: n 11: PETSC_AssertAlignx(16,x(1)) 12: PETSC_AssertAlignx(16,y(1)) 13: PETSC_AssertAlignx(16,z(1)) 15: z(1:n) = x(1:n) * y(1:n) 16: end subroutine Fortranxtimesy