3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
16 *> \author Univ. of Tennessee
17 *> \author Univ. of California Berkeley
18 *> \author Univ. of Colorado Denver
21 *> \date December 2016
23 *> \ingroup auxOTHERauxiliary
25 * ===================================================================== PROGRAM DSECNDTST
27 * -- LAPACK test routine (version 3.7.0) --
29 * -- LAPACK computational routine (version 3.7.0) --
30 * -- LAPACK is a software package provided by Univ. of Tennessee, --
31 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
34 * =====================================================================
38 PARAMETER ( NMAX = 1000, ITS = 50000 )
42 DOUBLE PRECISION ALPHA, AVG, T1, T2, TNOSEC, TOTAL
45 DOUBLE PRECISION X( NMAX ), Y( NMAX )
47 * .. External Functions ..
48 DOUBLE PRECISION DSECND
51 * .. Intrinsic Functions ..
54 * .. Executable Statements ..
56 * .. Figure TOTAL flops ..
57 TOTAL = DBLE(NMAX) * DBLE(ITS) * 2.0
62 X( I ) = DBLE( 1 ) / DBLE( I )
63 Y( I ) = DBLE( NMAX-I ) / DBLE( NMAX )
67 * Time TOTAL SAXPY operations
72 Y( I ) = Y( I ) + ALPHA*X( I )
78 WRITE( 6, 9999 )TOTAL, TNOSEC
79 IF( TNOSEC.GT.0.0 ) THEN
80 WRITE( 6, 9998 )(TOTAL/1.0D6)/TNOSEC
85 * Time TOTAL DAXPY operations with DSECND in the outer loop
90 Y( I ) = Y( I ) + ALPHA*X( I )
96 * Compute the time used in milliseconds used by an average call
99 WRITE( 6, 9997 )T2 - T1
100 AVG = ( ( T2-T1 ) - TNOSEC ) * 1000.0D+00/DBLE( ITS )
102 $ WRITE( 6, 9996 )AVG
104 * Compute the equivalent number of floating point operations used
105 * by an average call to DSECND.
107 IF(( AVG.GT.0.0 ).AND.( TNOSEC.GT.0.0 ))
108 $ WRITE( 6, 9995 )(AVG/1000) * TOTAL / TNOSEC
110 9999 FORMAT( ' Time for ', G10.3,' DAXPY ops = ', G10.3, ' seconds' )
111 9998 FORMAT( ' DAXPY performance rate = ', G10.3, ' mflops ' )
112 9997 FORMAT( ' Including DSECND, time = ', G10.3, ' seconds' )
113 9996 FORMAT( ' Average time for DSECND = ', G10.3,
115 9995 FORMAT( ' Equivalent floating point ops = ', G10.3, ' ops' )
116 9994 FORMAT( ' *** Warning: Time for operations was less or equal',
117 $ ' than zero => timing in TESTING might be dubious' )
120 SUBROUTINE MYSUB(N,X,Y)
122 DOUBLE PRECISION X(N), Y(N)