92 SUBROUTINE sget10( M, N, A, LDA, B, LDB, WORK, RESULT )
99 INTEGER LDA, LDB, M, N
103 REAL A( LDA, * ), B( LDB, * ), WORK( * )
110 parameter( one = 1.0e+0, zero = 0.0e+0 )
114 REAL ANORM, EPS, UNFL, WNORM
117 REAL SASUM, SLAMCH, SLANGE
118 EXTERNAL sasum, slamch, slange
124 INTRINSIC max, min, real
130 IF( m.LE.0 .OR. n.LE.0 )
THEN
135 unfl = slamch(
'Safe minimum' )
136 eps = slamch(
'Precision' )
140 CALL scopy( m, a( 1, j ), 1, work, 1 )
141 CALL saxpy( m, -one, b( 1, j ), 1, work, 1 )
142 wnorm = max( wnorm, sasum( n, work, 1 ) )
145 anorm = max( slange(
'1', m, n, a, lda, work ), unfl )
147 IF( anorm.GT.wnorm )
THEN
148 result = ( wnorm / anorm ) / ( m*eps )
150 IF( anorm.LT.one )
THEN
151 result = ( min( wnorm, m*anorm ) / anorm ) / ( m*eps )
153 result = min( wnorm / anorm, real( m ) ) / ( m*eps )
subroutine saxpy(n, sa, sx, incx, sy, incy)
SAXPY
subroutine scopy(n, sx, incx, sy, incy)
SCOPY
subroutine sget10(m, n, a, lda, b, ldb, work, result)
SGET10