100 SUBROUTINE cget10( M, N, A, LDA, B, LDB, WORK, RWORK, RESULT )
108 INTEGER lda, ldb, m, n
113 COMPLEX a( lda, * ), b( ldb, * ), work( * )
120 parameter( one = 1.0e+0, zero = 0.0e+0 )
124 REAL anorm, eps, unfl, wnorm
134 INTRINSIC max, min, real
140 IF( m.LE.0 .OR. n.LE.0 )
THEN
145 unfl =
slamch(
'Safe minimum' )
146 eps =
slamch(
'Precision' )
150 CALL
ccopy( m, a( 1, j ), 1, work, 1 )
151 CALL
caxpy( m, cmplx( -one ), b( 1, j ), 1, work, 1 )
152 wnorm = max( wnorm,
scasum( n, work, 1 ) )
155 anorm = max(
clange(
'1', m, n, a, lda, rwork ), unfl )
157 IF( anorm.GT.wnorm )
THEN
158 result = ( wnorm / anorm ) / ( m*eps )
160 IF( anorm.LT.one )
THEN
161 result = ( min( wnorm, m*anorm ) / anorm ) / ( m*eps )
163 result = min( wnorm / anorm,
REAL( M ) ) / ( m*eps )