206      DOUBLE PRECISION FUNCTION dlansf( NORM, TRANSR, UPLO, N, A,
 
  214      CHARACTER          norm, transr, uplo
 
  218      DOUBLE PRECISION   a( 0: * ), work( 0: * )
 
  224      DOUBLE PRECISION   one, zero
 
  225      parameter( one = 1.0d+0, zero = 0.0d+0 )
 
  228      INTEGER            i, j, ifm, ilu, noe, n1, k, l, lda
 
  229      DOUBLE PRECISION   scale, s, 
VALUE, aa, temp
 
  239      INTRINSIC          abs, max, sqrt
 
  246      ELSE IF( n.EQ.1 ) 
THEN 
  254      IF( mod( n, 2 ).EQ.0 )
 
  260      IF( 
lsame( transr, 
'T' ) )
 
  266      IF( 
lsame( uplo, 
'U' ) )
 
  285      IF( 
lsame( norm, 
'M' ) ) 
THEN 
  297                     temp = abs( a( i+j*lda ) )
 
  298                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  306                     temp = abs( a( i+j*lda ) )
 
  307                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  318                     temp = abs( a( i+j*lda ) )
 
  319                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  327                     temp = abs( a( i+j*lda ) )
 
  328                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  334      ELSE IF( ( 
lsame( norm, 
'I' ) ) .OR.
 
  335     $         ( 
lsame( norm, 
'O' ) ) .OR.
 
  336     $         ( norm.EQ.
'1' ) ) 
THEN 
  351                        aa = abs( a( i+j*lda ) )
 
  354                        work( i ) = work( i ) + aa
 
  356                     aa = abs( a( i+j*lda ) )
 
  362                     aa = abs( a( i+j*lda ) )
 
  364                     work( j ) = work( j ) + aa
 
  368                        aa = abs( a( i+j*lda ) )
 
  371                        work( l ) = work( l ) + aa
 
  373                     work( j ) = work( j ) + s
 
  379                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  392                        aa = abs( a( i+j*lda ) )
 
  395                        work( i+k ) = work( i+k ) + aa
 
  398                        aa = abs( a( i+j*lda ) )
 
  401                        work( i+k ) = work( i+k ) + s
 
  405                     aa = abs( a( i+j*lda ) )
 
  411                        aa = abs( a( i+j*lda ) )
 
  414                        work( l ) = work( l ) + aa
 
  416                     work( j ) = work( j ) + s
 
  421                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  434                        aa = abs( a( i+j*lda ) )
 
  437                        work( i ) = work( i ) + aa
 
  439                     aa = abs( a( i+j*lda ) )
 
  443                     aa = abs( a( i+j*lda ) )
 
  445                     work( j ) = work( j ) + aa
 
  449                        aa = abs( a( i+j*lda ) )
 
  452                        work( l ) = work( l ) + aa
 
  454                     work( j ) = work( j ) + s
 
  459                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  470                        aa = abs( a( i+j*lda ) )
 
  473                        work( i+k ) = work( i+k ) + aa
 
  475                     aa = abs( a( i+j*lda ) )
 
  478                     work( i+k ) = work( i+k ) + s
 
  481                     aa = abs( a( i+j*lda ) )
 
  487                        aa = abs( a( i+j*lda ) )
 
  490                        work( l ) = work( l ) + aa
 
  492                     work( j ) = work( j ) + s
 
  497                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  518                        aa = abs( a( i+j*lda ) )
 
  520                        work( i+n1 ) = work( i+n1 ) + aa
 
  526                  s = abs( a( 0+j*lda ) )
 
  529                     aa = abs( a( i+j*lda ) )
 
  531                     work( i+n1 ) = work( i+n1 ) + aa
 
  534                  work( j ) = work( j ) + s
 
  538                        aa = abs( a( i+j*lda ) )
 
  540                        work( i ) = work( i ) + aa
 
  544                     aa = abs( a( i+j*lda ) )
 
  547                     work( j-k ) = work( j-k ) + s
 
  549                     s = abs( a( i+j*lda ) )
 
  553                        aa = abs( a( i+j*lda ) )
 
  555                        work( l ) = work( l ) + aa
 
  558                     work( j ) = work( j ) + s
 
  563                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  577                        aa = abs( a( i+j*lda ) )
 
  579                        work( i ) = work( i ) + aa
 
  582                     aa = abs( a( i+j*lda ) )
 
  589                     aa = abs( a( i+j*lda ) )
 
  591                     DO l = k + j + 1, n - 1
 
  593                        aa = abs( a( i+j*lda ) )
 
  596                        work( l ) = work( l ) + aa
 
  598                     work( k+j ) = work( k+j ) + s
 
  603                     aa = abs( a( i+j*lda ) )
 
  605                     work( i ) = work( i ) + aa
 
  609                  aa = abs( a( i+j*lda ) )
 
  618                        aa = abs( a( i+j*lda ) )
 
  620                        work( i ) = work( i ) + aa
 
  623                     work( j ) = work( j ) + s
 
  628                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  641                        aa = abs( a( i+j*lda ) )
 
  643                        work( i+k ) = work( i+k ) + aa
 
  649                  aa = abs( a( 0+j*lda ) )
 
  653                     aa = abs( a( i+j*lda ) )
 
  655                     work( i+k ) = work( i+k ) + aa
 
  658                  work( j ) = work( j ) + s
 
  662                        aa = abs( a( i+j*lda ) )
 
  664                        work( i ) = work( i ) + aa
 
  668                     aa = abs( a( i+j*lda ) )
 
  671                     work( j-k-1 ) = work( j-k-1 ) + s
 
  673                     aa = abs( a( i+j*lda ) )
 
  678                        aa = abs( a( i+j*lda ) )
 
  680                        work( l ) = work( l ) + aa
 
  683                     work( j ) = work( j ) + s
 
  688                     aa = abs( a( i+j*lda ) )
 
  690                     work( i ) = work( i ) + aa
 
  694                  aa = abs( a( i+j*lda ) )
 
  697                  work( i ) = work( i ) + s
 
  701                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  715                     work( i+k ) = work( i+k ) + aa
 
  718                  work( k ) = work( k ) + s
 
  723                        aa = abs( a( i+j*lda ) )
 
  725                        work( i ) = work( i ) + aa
 
  728                     aa = abs( a( i+j*lda ) )
 
  735                     aa = abs( a( i+j*lda ) )
 
  737                     DO l = k + j + 1, n - 1
 
  739                        aa = abs( a( i+j*lda ) )
 
  742                        work( l ) = work( l ) + aa
 
  744                     work( k+j ) = work( k+j ) + s
 
  749                     aa = abs( a( i+j*lda ) )
 
  751                     work( i ) = work( i ) + aa
 
  755                  aa = abs( a( i+j*lda ) )
 
  764                        aa = abs( a( i+j*lda ) )
 
  766                        work( i ) = work( i ) + aa
 
  769                     work( j-1 ) = work( j-1 ) + s
 
  774                     IF( 
VALUE .LT. temp .OR. 
disnan( temp ) )
 
  780      ELSE IF( ( 
lsame( norm, 
'F' ) ) .OR.
 
  781     $         ( 
lsame( norm, 
'E' ) ) ) 
THEN 
  795                     CALL dlassq( k-j-2, a( k+j+1+j*lda ), 1, scale,
 
  800                     CALL dlassq( k+j-1, a( 0+j*lda ), 1, scale, s )
 
  805                  CALL dlassq( k-1, a( k ), lda+1, scale, s )
 
  807                  CALL dlassq( k, a( k-1 ), lda+1, scale, s )
 
  812                     CALL dlassq( n-j-1, a( j+1+j*lda ), 1, scale,
 
  817                     CALL dlassq( j, a( 0+( 1+j )*lda ), 1, scale,
 
  823                  CALL dlassq( k, a( 0 ), lda+1, scale, s )
 
  825                  CALL dlassq( k-1, a( 0+lda ), lda+1, scale, s )
 
  833                     CALL dlassq( j, a( 0+( k+j )*lda ), 1, scale,
 
  838                     CALL dlassq( k, a( 0+j*lda ), 1, scale, s )
 
  842                     CALL dlassq( k-j-1, a( j+1+( j+k-1 )*lda ), 1,
 
  848                  CALL dlassq( k-1, a( 0+k*lda ), lda+1, scale, s )
 
  850                  CALL dlassq( k, a( 0+( k-1 )*lda ), lda+1, scale,
 
  856                     CALL dlassq( j, a( 0+j*lda ), 1, scale, s )
 
  860                     CALL dlassq( k, a( 0+j*lda ), 1, scale, s )
 
  864                     CALL dlassq( k-j-2, a( j+2+j*lda ), 1, scale,
 
  870                  CALL dlassq( k, a( 0 ), lda+1, scale, s )
 
  872                  CALL dlassq( k-1, a( 1 ), lda+1, scale, s )
 
  883                     CALL dlassq( k-j-1, a( k+j+2+j*lda ), 1, scale,
 
  888                     CALL dlassq( k+j, a( 0+j*lda ), 1, scale, s )
 
  893                  CALL dlassq( k, a( k+1 ), lda+1, scale, s )
 
  895                  CALL dlassq( k, a( k ), lda+1, scale, s )
 
  900                     CALL dlassq( n-j-1, a( j+2+j*lda ), 1, scale,
 
  905                     CALL dlassq( j, a( 0+j*lda ), 1, scale, s )
 
  910                  CALL dlassq( k, a( 1 ), lda+1, scale, s )
 
  912                  CALL dlassq( k, a( 0 ), lda+1, scale, s )
 
  920                     CALL dlassq( j, a( 0+( k+1+j )*lda ), 1, scale,
 
  925                     CALL dlassq( k, a( 0+j*lda ), 1, scale, s )
 
  929                     CALL dlassq( k-j-1, a( j+1+( j+k )*lda ), 1,
 
  936                  CALL dlassq( k, a( 0+( k+1 )*lda ), lda+1, scale,
 
  939                  CALL dlassq( k, a( 0+k*lda ), lda+1, scale, s )
 
  944                     CALL dlassq( j, a( 0+( j+1 )*lda ), 1, scale,
 
  949                     CALL dlassq( k, a( 0+j*lda ), 1, scale, s )
 
  953                     CALL dlassq( k-j-1, a( j+1+j*lda ), 1, scale,
 
  959                  CALL dlassq( k, a( lda ), lda+1, scale, s )
 
  961                  CALL dlassq( k, a( 0 ), lda+1, scale, s )
 
  966         VALUE = scale*sqrt( s )