126 REAL FUNCTION CLANTP( NORM, UPLO, DIAG, N, AP, WORK )
135 CHARACTER diag, norm, uplo
147 parameter( one = 1.0e+0, zero = 0.0e+0 )
155 REAL ssq( 2 ), colssq( 2 )
171 ELSE IF(
lsame( norm,
'M' ) )
THEN
176 IF(
lsame( diag,
'U' ) )
THEN
178 IF(
lsame( uplo,
'U' ) )
THEN
180 DO 10 i = k, k + j - 2
182 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
188 DO 30 i = k + 1, k + n - j
190 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
197 IF(
lsame( uplo,
'U' ) )
THEN
199 DO 50 i = k, k + j - 1
201 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
207 DO 70 i = k, k + n - j
209 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
215 ELSE IF( (
lsame( norm,
'O' ) ) .OR. ( norm.EQ.
'1' ) )
THEN
221 udiag =
lsame( diag,
'U' )
222 IF(
lsame( uplo,
'U' ) )
THEN
226 DO 90 i = k, k + j - 2
227 sum = sum + abs( ap( i ) )
231 DO 100 i = k, k + j - 1
232 sum = sum + abs( ap( i ) )
236 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
242 DO 120 i = k + 1, k + n - j
243 sum = sum + abs( ap( i ) )
247 DO 130 i = k, k + n - j
248 sum = sum + abs( ap( i ) )
252 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
255 ELSE IF(
lsame( norm,
'I' ) )
THEN
260 IF(
lsame( uplo,
'U' ) )
THEN
261 IF(
lsame( diag,
'U' ) )
THEN
267 work( i ) = work( i ) + abs( ap( k ) )
278 work( i ) = work( i ) + abs( ap( k ) )
284 IF(
lsame( diag,
'U' ) )
THEN
291 work( i ) = work( i ) + abs( ap( k ) )
301 work( i ) = work( i ) + abs( ap( k ) )
310 IF(
VALUE .LT. sum .OR.
sisnan( sum ) )
VALUE = sum
312 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
319 IF(
lsame( uplo,
'U' ) )
THEN
320 IF(
lsame( diag,
'U' ) )
THEN
327 CALL classq( j-1, ap( k ), 1,
328 $ colssq( 1 ), colssq( 2 ) )
339 CALL classq( j, ap( k ), 1,
340 $ colssq( 1 ), colssq( 2 ) )
346 IF(
lsame( diag,
'U' ) )
THEN
353 CALL classq( n-j, ap( k ), 1,
354 $ colssq( 1 ), colssq( 2 ) )
365 CALL classq( n-j+1, ap( k ), 1,
366 $ colssq( 1 ), colssq( 2 ) )
372 VALUE = ssq( 1 )*sqrt( ssq( 2 ) )