17      parameter( ntimer = 64 )
 
   18      DOUBLE PRECISION   STARTFLAG, ZERO
 
   19      parameter( startflag = -5.0d+0, zero = 0.0d+0 )
 
   26      DOUBLE PRECISION   CPUSEC( NTIMER ), CPUSTART( NTIMER ),
 
   27     $                   WALLSEC( NTIMER ), WALLSTART( NTIMER )
 
   28      COMMON /sltimer00/ cpusec, wallsec, cpustart, wallstart, disabled
 
   36         cpustart( i )  = startflag
 
   37         wallstart( i ) = startflag
 
 
   78      parameter( ntimer = 64 )
 
   79      DOUBLE PRECISION   STARTFLAG
 
   80      parameter( startflag = -5.0d+0 )
 
   83      DOUBLE PRECISION   DCPUTIME00, DWALLTIME00
 
   84      EXTERNAL           dcputime00, dwalltime00
 
   88      DOUBLE PRECISION   CPUSEC( NTIMER ), CPUSTART( NTIMER ),
 
   89     $                   WALLSEC( NTIMER ), WALLSTART( NTIMER )
 
   90      COMMON /sltimer00/ cpusec, wallsec, cpustart, wallstart, disabled
 
   99      IF( wallstart( i ).EQ.startflag ) 
THEN 
  103         wallstart( i ) = dwalltime00()
 
  104         cpustart( i )  = dcputime00()
 
  110         cpusec( i ) = cpusec( i ) + dcputime00() - cpustart( i )
 
  111         wallsec( i ) = wallsec( i ) + dwalltime00() - wallstart( i )
 
  112         wallstart( i ) = startflag
 
 
  138      parameter( ntimer = 64 )
 
  142      DOUBLE PRECISION   CPUSEC( NTIMER ), CPUSTART( NTIMER ),
 
  143     $                   WALLSEC( NTIMER ), WALLSTART( NTIMER )
 
  144      COMMON /sltimer00/ cpusec, wallsec, cpustart, wallstart, disabled
 
 
  170      parameter( ntimer = 64 )
 
  174      DOUBLE PRECISION   CPUSEC( NTIMER ), CPUSTART( NTIMER ),
 
  175     $                   WALLSEC( NTIMER ), WALLSTART( NTIMER )
 
  176      COMMON /sltimer00/ cpusec, wallsec, cpustart, wallstart, disabled
 
 
  220      parameter( ntimer = 64 )
 
  221      DOUBLE PRECISION   errflag
 
  222      parameter( errflag = -1.0d+0 )
 
  225      DOUBLE PRECISION   time
 
  229      DOUBLE PRECISION   dcputime00, dwalltime00
 
  230      EXTERNAL           dcputime00, dwalltime00, 
lsame 
  234      DOUBLE PRECISION   cpusec( ntimer ), cpustart( ntimer ),
 
  235     $                   wallsec( ntimer ), wallstart( ntimer )
 
  236      COMMON /sltimer00/ cpusec, wallsec, cpustart, wallstart, disabled
 
  240      IF( 
lsame( timetype, 
'W' ) ) 
THEN 
  244         IF( dwalltime00().EQ.errflag ) 
THEN 
  250         IF( dcputime00().EQ.errflag ) 
THEN 
 
  265      SUBROUTINE slcombine( ICTXT, SCOPE, OP, TIMETYPE, N, IBEG,
 
  274      CHARACTER          OP, SCOPE, TIMETYPE
 
  275      INTEGER            IBEG, ICTXT, N
 
  278      DOUBLE PRECISION   TIMES( N )
 
  321      parameter( ntimer = 64 )
 
  322      DOUBLE PRECISION   ERRFLAG
 
  323      parameter( errflag = -1.0d+0 )
 
  330      EXTERNAL           dgamx2d, dgamn2d, dgsum2d
 
  334      DOUBLE PRECISION   DCPUTIME00, DWALLTIME00
 
  335      EXTERNAL           dcputime00, dwalltime00, lsame
 
  339      DOUBLE PRECISION   CPUSEC( NTIMER ), CPUSTART( NTIMER ),
 
  340     $                   wallsec( ntimer ), wallstart( ntimer )
 
  341      COMMON /sltimer00/ cpusec, wallsec, cpustart, wallstart, disabled
 
  352      IF( lsame( timetype, 
'W' ) ) 
THEN 
  357         IF( dwalltime00().EQ.errflag ) 
THEN 
  364               times( i ) = wallsec( ibeg + i - 1 )
 
  368         IF( dcputime00().EQ.errflag ) 
THEN 
  375               times( i ) = cpusec( ibeg + i - 1 )
 
  383         CALL dgamx2d( ictxt, scope, 
' ', n, 1, times, n, -1, -1,
 
  385      ELSE IF( op.EQ.
'<' ) 
THEN 
  386         CALL dgamn2d( ictxt, scope, 
' ', n, 1, times, n, -1, -1,
 
  388      ELSE IF( op.EQ.
'+' ) 
THEN 
  389         CALL dgsum2d( ictxt, scope, 
' ', n, 1, times, n, -1, 0 )
 
  391         CALL dgamx2d( ictxt, scope, 
' ', n, 1, times, n, -1, -1,
 
 
subroutine slcombine(ictxt, scope, op, timetype, n, ibeg, times)