113 REAL function
slange( norm, m, n, a, lda, work )
124 REAL a( lda, * ), work( * )
131 parameter( one = 1.0e+0, zero = 0.0e+0 )
135 REAL scale, sum,
VALUE, temp
145 INTRINSIC abs, min, sqrt
149 IF( min( m, n ).EQ.0 )
THEN
151 ELSE IF(
lsame( norm,
'M' ) )
THEN
158 temp = abs( a( i, j ) )
159 IF(
VALUE.LT.temp .OR.
sisnan( temp ) )
VALUE = temp
162 ELSE IF( (
lsame( norm,
'O' ) ) .OR. ( norm.EQ.
'1' ) )
THEN
170 sum = sum + abs( a( i, j ) )
172 IF(
VALUE.LT.sum .OR.
sisnan( sum ) )
VALUE = sum
174 ELSE IF(
lsame( norm,
'I' ) )
THEN
183 work( i ) = work( i ) + abs( a( i, j ) )
189 IF(
VALUE.LT.temp .OR.
sisnan( temp ) )
VALUE = temp
191 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
198 CALL slassq( m, a( 1, j ), 1, scale, sum )
200 VALUE = scale*sqrt( sum )
subroutine slassq(n, x, incx, scl, sumsq)
SLASSQ updates a sum of squares represented in scaled form.
logical function sisnan(SIN)
SISNAN tests input for NaN.
logical function lsame(CA, CB)
LSAME
real function slange(NORM, M, N, A, LDA, WORK)
SLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...