121      REAL             function 
slantp( norm, uplo, diag, n, ap,
 
  129      CHARACTER          diag, norm, uplo
 
  133      REAL               ap( * ), work( * )
 
  140      parameter( one = 1.0e+0, zero = 0.0e+0 )
 
  145      REAL               scale, sum, value
 
  161      ELSE IF( 
lsame( norm, 
'M' ) ) 
THEN 
  166         IF( 
lsame( diag, 
'U' ) ) 
THEN 
  168            IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  170                  DO 10 i = k, k + j - 2
 
  172                     IF( 
VALUE .LT. sum .OR.
 
  173     $                   
sisnan( sum ) ) 
VALUE = sum
 
  179                  DO 30 i = k + 1, k + n - j
 
  181                     IF( 
VALUE .LT. sum .OR.
 
  182     $                   
sisnan( sum ) ) 
VALUE = sum
 
  189            IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  191                  DO 50 i = k, k + j - 1
 
  193                     IF( 
VALUE .LT. sum .OR.
 
  194     $                   
sisnan( sum ) ) 
VALUE = sum
 
  200                  DO 70 i = k, k + n - j
 
  202                     IF( 
VALUE .LT. sum .OR.
 
  203     $                   
sisnan( sum ) ) 
VALUE = sum
 
  209      ELSE IF( ( 
lsame( norm, 
'O' ) ) .OR. ( norm.EQ.
'1' ) ) 
THEN 
  215         udiag = 
lsame( diag, 
'U' )
 
  216         IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  220                  DO 90 i = k, k + j - 2
 
  221                     sum = sum + abs( ap( i ) )
 
  225                  DO 100 i = k, k + j - 1
 
  226                     sum = sum + abs( ap( i ) )
 
  230               IF( 
VALUE .LT. sum .OR. 
sisnan( sum ) ) 
VALUE = sum
 
  236                  DO 120 i = k + 1, k + n - j
 
  237                     sum = sum + abs( ap( i ) )
 
  241                  DO 130 i = k, k + n - j
 
  242                     sum = sum + abs( ap( i ) )
 
  246               IF( 
VALUE .LT. sum .OR. 
sisnan( sum ) ) 
VALUE = sum
 
  249      ELSE IF( 
lsame( norm, 
'I' ) ) 
THEN 
  254         IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  255            IF( 
lsame( diag, 
'U' ) ) 
THEN 
  261                     work( i ) = work( i ) + abs( ap( k ) )
 
  272                     work( i ) = work( i ) + abs( ap( k ) )
 
  278            IF( 
lsame( diag, 
'U' ) ) 
THEN 
  285                     work( i ) = work( i ) + abs( ap( k ) )
 
  295                     work( i ) = work( i ) + abs( ap( k ) )
 
  304            IF( 
VALUE .LT. sum .OR. 
sisnan( sum ) ) 
VALUE = sum
 
  306      ELSE IF( ( 
lsame( norm, 
'F' ) ) .OR.
 
  307     $         ( 
lsame( norm, 
'E' ) ) ) 
THEN 
  311         IF( 
lsame( uplo, 
'U' ) ) 
THEN 
  312            IF( 
lsame( diag, 
'U' ) ) 
THEN 
  317                  CALL slassq( j-1, ap( k ), 1, scale, sum )
 
  325                  CALL slassq( j, ap( k ), 1, scale, sum )
 
  330            IF( 
lsame( diag, 
'U' ) ) 
THEN 
  335                  CALL slassq( n-j, ap( k ), 1, scale, sum )
 
  343                  CALL slassq( n-j+1, ap( k ), 1, scale, sum )
 
  348         VALUE = scale*sqrt( sum )
 
 
real function slantp(norm, uplo, diag, n, ap, work)
SLANTP returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...
subroutine slassq(n, x, incx, scale, sumsq)
SLASSQ updates a sum of squares represented in scaled form.