<!-- hamlet
<!-- copytar
examples/                                                                                              755    1107     770            0  5551340540   5706                                                                                                                                                                                                                                                                                                                                                                      examples/aparm5.f                                                                                      644    1107     770         2033  5551340201   7317                                                                                                                                                                                                                                                                                                                                                                      C This subroutine computes the dot product of two REAL arrays
C (X and Y) of length SIZE.  The answer is communicated back
C via Z.

      SUBROUTINE DOTPROD (X, Y, Z, SIZE)

      IMPLICIT NONE
      INTEGER I, SIZE
      REAL X(SIZE), Y(SIZE), Z(SIZE)

      DO I = 1, SIZE
         Z(I) = X(I) * Y(I)
      ENDDO

      RETURN
      END


C The main program exercises DOTPROC

      PROGRAM TESTER

      IMPLICIT NONE
      INTEGER I, N, SIZE
      PARAMETER (SIZE=100)
      REAL A(SIZE), B(SIZE), C(SIZE)

      PRINT *, 'Please enter the number of elements in the arrays'
      READ *, N

      IF ((N .LT. 1) .OR. (N .GT. SIZE)) THEN
         PRINT *, 'That is a bad number'
         STOP
      ENDIF

      DO I = 1, N
         PRINT *, 'Enter element ', I, ' of A'
         READ *, A(I)
         PRINT *, 'Enter element ', I, ' of B'
         READ *, B(I)
      ENDDO

      PRINT *, 'A   = ', (A(I), I=1,N)
      PRINT *, 'B   = ', (B(I), I=1,N)

      CALL DOTPROD(A, B, C, N)

      PRINT *, 'A*B = ', (C(I), I=1,N)

      STOP
      END
@ .  cs566 ,	  P   cs567  	  `   cs571 
  p ~  cs571-1    =  cs572    	ӻ  cs573 n2      cs574 9      cs576    w  	cs574.s92    	NF  cs577 a    f  cs579     o  cs590  s    {L  dsl    -  cs610  	    	NM  cs611 I  0 )  cs638 P  @   cs651 d  P \  cs667 n0  `  ZV  cs679 rt  p  G  parsym      cs513 pl   ,  cs564 pl      quotas t      .mvclass ort  examples/aparm2.f                                                                                      644    1107     770         1475  5506142043   7331                                                                                                                                                                                                                                                                                                                                                                      C Illustrates passing arrays as arguments.

C Created:  Joe Zachary, November 1, 1992
C Modified:


C This subroutine computes the dot product of two REAL arrays
C (X and Y) of length 5.  The answer is communicated back
C via Z.

      SUBROUTINE DOTPROD (X, Y, Z)

      IMPLICIT NONE
      INTEGER I, SIZE
      PARAMETER (SIZE=5)
      REAL X(SIZE), Y(SIZE), Z(SIZE)

      DO I = 1, SIZE
         Z(I) = X(I) * Y(I)
      ENDDO

      RETURN
      END


C The main program exercises DOTPROC

      PROGRAM TESTER

      IMPLICIT NONE
      INTEGER I, SIZE
      PARAMETER (SIZE=5)
      REAL A(SIZE), B(SIZE), C(SIZE)

      DO I = 1, SIZE
         A(I) = I
         B(I) = SIZE
      ENDDO

      PRINT *, 'A   = ', A
      PRINT *, 'B   = ', B

      CALL DOTPROD(A, B, C)

      PRINT *, 'A*B = ', C

      STOP
      END
 ', I, ' of B'
         READ *, B(I)
      ENDDO

      PRINT *, 'A   = ', (A(I), I=1,N)
      PRINT *, 'B   = ', (B(I), I=1,N)

      CALL DOTPROD(A, B, C, N)

      PRINT *, 'A*B = ', (C(I), I=examples/aparm3.f                                                                                      644    1107     770         1463  5506142044   7330                                                                                                                                                                                                                                                                                                                                                                      C Illustrates passing arrays as arguments.

C Created:  Joe Zachary, November 1, 1992
C Modified:


C This subroutine computes the dot product of two REAL arrays
C (X and Y) of length SIZE.  The answer is communicated back
C via Z.

      SUBROUTINE DOTPROD (X, Y, Z, SIZE)

      IMPLICIT NONE
      INTEGER I, SIZE
      REAL X(SIZE), Y(SIZE), Z(SIZE)

      DO I = 1, SIZE
         Z(I) = X(I) * Y(I)
      ENDDO

      RETURN
      END


C The main program exercises DOTPROC

      PROGRAM TESTER

      IMPLICIT NONE
      INTEGER I, SIZE
      PARAMETER (SIZE=5)
      REAL A(SIZE), B(SIZE), C(SIZE)

      DO I = 1, SIZE
         A(I) = I
         B(I) = SIZE
      ENDDO

      PRINT *, 'A   = ', A
      PRINT *, 'B   = ', B

      CALL DOTPROD(A, B, C, SIZE)

      PRINT *, 'A*B = ', C

      STOP
      END
      END
 ', I, ' of B'
         READ *, B(I)
      ENDDO

      PRINT *, 'A   = ', (A(I), I=1,N)
      PRINT *, 'B   = ', (B(I), I=1,N)

      CALL DOTPROD(A, B, C, N)

      PRINT *, 'A*B = ', (C(I), I=examples/aparm4.f                                                                                      644    1107     770         1720  5551340206   7325                                                                                                                                                                                                                                                                                                                                                                      C This subroutine computes the dot product of two REAL arrays (X and Y)
C of length SIZE.  The answer is communicated back via Z.

      SUBROUTINE DOTPROD (X, Y, Z, SIZE)

      IMPLICIT NONE
      INTEGER I, SIZE
      REAL X(SIZE), Y(SIZE), Z(SIZE)

      DO I = 1, SIZE
         Z(I) = X(I) * Y(I)
      ENDDO

      RETURN
      END


C The main program exercises DOTPROD

      PROGRAM TESTER

      IMPLICIT NONE
      INTEGER I, SIZE1, SIZE2
      PARAMETER (SIZE1=5, SIZE2=10)
      REAL A(SIZE1), B(SIZE1), C(SIZE1)
      REAL X(SIZE2), Y(SIZE2), Z(SIZE2)

      DO I = 1, SIZE1
         A(I) = I
         B(I) = SIZE1
      ENDDO

      PRINT *, 'A   = ', A
      PRINT *, 'B   = ', B

      CALL DOTPROD(A, B, C, SIZE1)

      PRINT *, 'A*B = ', C

      DO I = 1, SIZE2
         X(I) = I
         Y(I) = SIZE2
      ENDDO

      PRINT *, 'X   = ', X
      PRINT *, 'Y   = ', Y

      CALL DOTPROD(X, Y, Z, SIZE2)

      PRINT *, 'X*Y = ', Z

      STOP
      END
(A, B, C, N)

      PRINT *, 'A*B = ', (C(I), I=                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                