Actual source code: fmaxpy.F
1: !
2: ! "$Id: fmaxpy.F,v 1.10 2001/08/07 03:05:24 balay Exp $";
3: !
4: ! Fortran kernel for the MAXPY() vector routine
5: !
6: #include include/finclude/petscdef.h
7: !
8: subroutine FortranMAXPY4(x,a1,a2,a3,a4,y1,y2,y3,y4,n)
9: implicit none
10: PetscScalar a1,a2,a3,a4
11: PetscScalar x(*),y1(*),y2(*),y3(*),y4(*)
12: integer n
14: integer i
16: do 10,i=1,n
17: x(i) = x(i) + a1*y1(i) + a2*y2(i) + a3*y3(i) + a4*y4(i)
18: 10 continue
20: return
21: end
23: subroutine FortranMAXPY3(x,a1,a2,a3,y1,y2,y3,n)
24: implicit none
25: PetscScalar a1,a2,a3,x(*),y1(*),y2(*),y3(*)
26: integer n
28: integer i
30: do 10,i=1,n
31: x(i) = x(i) + a1*y1(i) + a2*y2(i) + a3*y3(i)
32: 10 continue
34: return
35: end
39: subroutine FortranMAXPY2(x,a1,a2,y1,y2,n)
40: implicit none
41: PetscScalar a1,a2,x(*),y1(*),y2(*)
42: integer n
44: integer i
46: do 10,i=1,n
47: x(i) = x(i) + a1*y1(i) + a2*y2(i)
48: 10 continue
50: return
51: end
52: !
53: ! Fortran kernel for the z = x * y
54: !
55: !
56: subroutine Fortranxtimesy(x,y,z,n)
57: implicit none
58: PetscScalar x(*),y(*),z(*)
59: integer n
61: integer i
63: do 10,i=1,n
64: z(i) = x(i) * y(i)
65: 10 continue
67: return
68: end