3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
12 *> \author Univ. of Tennessee
13 *> \author Univ. of California Berkeley
14 *> \author Univ. of Colorado Denver
17 *> \date December 2016
19 *> \ingroup auxOTHERcomputational
21 * ===================================================================== PROGRAM SECONDTST
23 * -- LAPACK test routine (version 3.7.0) --
25 * -- LAPACK computational routine (version 3.7.0) --
26 * -- LAPACK is a software package provided by Univ. of Tennessee, --
27 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
30 * =====================================================================
34 PARAMETER ( NMAX = 1000, ITS = 50000 )
38 REAL ALPHA, AVG, T1, T2, TNOSEC, TOTAL
41 REAL X( NMAX ), Y( NMAX )
43 * .. External Functions ..
47 * .. Intrinsic Functions ..
50 * .. Executable Statements ..
52 * .. Figure TOTAL flops ..
53 TOTAL = REAL(NMAX) * REAL(ITS) * 2.0
58 X( I ) = REAL( 1 ) / REAL( I )
59 Y( I ) = REAL( NMAX-I ) / REAL( NMAX )
63 * Time TOTAL SAXPY operations
68 Y( I ) = Y( I ) + ALPHA*X( I )
74 WRITE( 6, 9999 )TOTAL, TNOSEC
75 IF( TNOSEC.GT.0.0 ) THEN
76 WRITE( 6, 9998 )(TOTAL/1.0E6)/TNOSEC
81 * Time TOTAL SAXPY operations with SECOND in the outer loop
86 Y( I ) = Y( I ) + ALPHA*X( I )
92 * Compute the time used in milliseconds used by an average call
95 WRITE( 6, 9997 )T2 - T1
96 AVG = ( ( T2-T1 ) - TNOSEC ) * 1000.0E+00/REAL( ITS )
100 * Compute the equivalent number of floating point operations used
101 * by an average call to SECOND.
103 IF(( AVG.GT.0.0 ).AND.( TNOSEC.GT.0.0 ))
104 $ WRITE( 6, 9995 )(AVG/1000) * TOTAL / TNOSEC
106 9999 FORMAT( ' Time for ', G10.3,' SAXPY ops = ', G10.3, ' seconds' )
107 9998 FORMAT( ' SAXPY performance rate = ', G10.3, ' mflops ' )
108 9997 FORMAT( ' Including SECOND, time = ', G10.3, ' seconds' )
109 9996 FORMAT( ' Average time for SECOND = ', G10.3,
111 9995 FORMAT( ' Equivalent floating point ops = ', G10.3, ' ops' )
112 9994 FORMAT( ' *** Warning: Time for operations was less or equal',
113 $ ' than zero => timing in TESTING might be dubious' )
116 SUBROUTINE MYSUB(N,X,Y)