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