Actual source code: fwaxpy.F90

  1: !
  2: !
  3: !    Fortran kernel for the WAXPY() vector routine
  4: !
  5: #include <petsc/finclude/petscsys.h>
  6: !
  7: pure subroutine FortranWAXPY(n,a,x,y,w)
  8:   use, intrinsic :: ISO_C_binding
  9:   implicit none (type, external)
 10:   PetscScalar, intent(in) :: a
 11:   PetscScalar, intent(in) :: x(*),y(*)
 12:   PetscScalar, intent(inout) :: w(*)
 13:   PetscInt, intent(in) :: n

 15:   PETSC_AssertAlignx(16,x(1))
 16:   PETSC_AssertAlignx(16,y(1))
 17:   PETSC_AssertAlignx(16,w(1))

 19:   w(1:n) = a*x(1:n) + y(1:n)
 20: end subroutine FortranWAXPY