NAME
SYNOPSIS
- PROGRAM TEST5
- INTEGER
-
NMAX, ITS
- PARAMETER
-
( NMAX = 100, ITS = 5000 )
- INTEGER
-
I, J
- DOUBLE
-
PRECISION ALPHA, AVG, T1, T2, TNOSEC
- DOUBLE
-
PRECISION X( NMAX ), Y( NMAX )
- DOUBLE
-
PRECISION DSECND
- EXTERNAL
-
DSECND
- INTRINSIC
-
DBLE
- DO
-
10 I = 1, NMAX
- X(
-
I ) = DBLE( 1 ) / DBLE( I )
- Y(
-
I ) = DBLE( NMAX-I ) / DBLE( NMAX )
- 10
-
CONTINUE
- ALPHA
-
= 0.315D0
- T1
-
= DSECND( )
- DO
-
30 J = 1, ITS
- DO
-
20 I = 1, NMAX
- Y(
-
I ) = Y( I ) + ALPHA*X( I )
- 20
-
CONTINUE
- ALPHA
-
= -ALPHA
- 30
-
CONTINUE
- T2
-
= DSECND( )
- WRITE(
-
6, 9999 )T2 - T1
- IF(
-
T2-T1.GT.0.0D0 ) THEN
- WRITE(
-
6, 9998 )1.0D0 / ( T2-T1 )
- ELSE
- WRITE(
-
6, 9994 )
- END
-
IF
- TNOSEC
-
= T2 - T1
- T1
-
= DSECND( )
- DO
-
50 J = 1, ITS
- DO
-
40 I = 1, NMAX
- Y(
-
I ) = Y( I ) + ALPHA*X( I )
- 40
-
CONTINUE
- ALPHA
-
= -ALPHA
- T2
-
= DSECND( )
- 50
-
CONTINUE
- WRITE(
-
6, 9997 )T2 - T1
- AVG
-
= ( ( T2-T1 )-TNOSEC )*1000.D0 / DBLE( ITS )
- WRITE(
-
6, 9996 )AVG
- IF(
-
TNOSEC.GT.0.0D0 ) WRITE( 6, 9995 )1000.D0*AVG / TNOSEC
- 9999
-
FORMAT( ' Time for 1,000,000 DAXPY ops = ', G10.3, ' seconds' )
- 9998
-
FORMAT( ' DAXPY performance rate = ', G10.3, ' mflops ' )
- 9997
-
FORMAT( ' Including DSECND, time = ', G10.3, ' seconds' )
- 9996
-
FORMAT( ' Average time for DSECND = ', G10.3, ' milliseconds' )
- 9995
-
FORMAT( ' Equivalent floating point ops = ', G10.3, ' ops' )
- 9994
-
FORMAT( ' *** Error: Time for operations was zero' )
- CALL
-
MYSUB(NMAX,X,Y)
- END
- SUBROUTINE
-
MYSUB(N,X,Y)
- INTEGER
-
N
- DOUBLE
-
PRECISION X(N), Y(N)
- RETURN
- END