Actual source code: fmaxpy.F

  1: !
  2: !
  3: !    Fortran kernel for the MAXPY() vector routine
  4: !
 5:  #include include/finclude/petscdef.h
  6: !
  7:       subroutine FortranMAXPY4(x,a1,a2,a3,a4,y1,y2,y3,y4,n)
  8:       implicit none
  9:       PetscScalar  a1,a2,a3,a4
 10:       PetscScalar  x(*),y1(*),y2(*),y3(*),y4(*)
 11:       PetscInt n

 13:       PetscInt i

 15:       do 10,i=1,n
 16:         x(i) = x(i) + a1*y1(i) + a2*y2(i) + a3*y3(i) + a4*y4(i)
 17:  10   continue

 19:       return
 20:       end

 22:       subroutine FortranMAXPY3(x,a1,a2,a3,y1,y2,y3,n)
 23:       implicit none
 24:       PetscScalar  a1,a2,a3,x(*),y1(*),y2(*),y3(*)
 25:       PetscInt n

 27:       PetscInt i

 29:       do 10,i=1,n
 30:         x(i) = x(i) + a1*y1(i) + a2*y2(i) + a3*y3(i)
 31:  10   continue

 33:       return
 34:       end



 38:       subroutine FortranMAXPY2(x,a1,a2,y1,y2,n)
 39:       implicit none
 40:       PetscScalar  a1,a2,x(*),y1(*),y2(*)
 41:       PetscInt n

 43:       PetscInt i

 45:       do 10,i=1,n
 46:         x(i) = x(i) + a1*y1(i) + a2*y2(i)
 47:  10   continue

 49:       return
 50:       end
 51: !
 52: !    Fortran kernel for the z = x * y
 53: !
 54: !
 55:       subroutine Fortranxtimesy(x,y,z,n)
 56:       implicit none
 57:       PetscScalar  x(*),y(*),z(*)
 58:       PetscInt n

 60:       PetscInt i

 62:       do 10,i=1,n
 63:         z(i) = x(i) * y(i)
 64:  10   continue

 66:       return
 67:       end