210 REAL FUNCTION slansf( NORM, TRANSR, UPLO, N, A, WORK )
218 CHARACTER norm, transr, uplo
222 REAL a( 0: * ), work( 0: * )
230 parameter( one = 1.0e+0, zero = 0.0e+0 )
233 INTEGER i, j, ifm, ilu, noe, n1, k, l, lda
234 REAL scale, s, value, aa
245 INTRINSIC abs, max, sqrt
252 ELSE IF( n.EQ.1 )
THEN
260 IF( mod( n, 2 ).EQ.0 )
266 IF(
lsame( transr,
'T' ) )
272 IF(
lsame( uplo,
'U' ) )
291 IF(
lsame( norm,
'M' ) )
THEN
303 value = max( value, abs( a( i+j*lda ) ) )
310 value = max( value, abs( a( i+j*lda ) ) )
320 value = max( value, abs( a( i+j*lda ) ) )
327 value = max( value, abs( a( i+j*lda ) ) )
332 ELSE IF( (
lsame( norm,
'I' ) ) .OR. (
lsame( norm,
'O' ) ) .OR.
333 $ ( norm.EQ.
'1' ) )
THEN
348 aa = abs( a( i+j*lda ) )
351 work( i ) = work( i ) + aa
353 aa = abs( a( i+j*lda ) )
359 aa = abs( a( i+j*lda ) )
361 work( j ) = work( j ) + aa
365 aa = abs( a( i+j*lda ) )
368 work( l ) = work( l ) + aa
370 work( j ) = work( j ) + s
385 aa = abs( a( i+j*lda ) )
388 work( i+k ) = work( i+k ) + aa
391 aa = abs( a( i+j*lda ) )
394 work( i+k ) = work( i+k ) + s
398 aa = abs( a( i+j*lda ) )
404 aa = abs( a( i+j*lda ) )
407 work( l ) = work( l ) + aa
409 work( j ) = work( j ) + s
423 aa = abs( a( i+j*lda ) )
426 work( i ) = work( i ) + aa
428 aa = abs( a( i+j*lda ) )
432 aa = abs( a( i+j*lda ) )
434 work( j ) = work( j ) + aa
438 aa = abs( a( i+j*lda ) )
441 work( l ) = work( l ) + aa
443 work( j ) = work( j ) + s
455 aa = abs( a( i+j*lda ) )
458 work( i+k ) = work( i+k ) + aa
460 aa = abs( a( i+j*lda ) )
463 work( i+k ) = work( i+k ) + s
466 aa = abs( a( i+j*lda ) )
472 aa = abs( a( i+j*lda ) )
475 work( l ) = work( l ) + aa
477 work( j ) = work( j ) + s
499 aa = abs( a( i+j*lda ) )
501 work( i+n1 ) = work( i+n1 ) + aa
507 s = abs( a( 0+j*lda ) )
510 aa = abs( a( i+j*lda ) )
512 work( i+n1 ) = work( i+n1 ) + aa
515 work( j ) = work( j ) + s
519 aa = abs( a( i+j*lda ) )
521 work( i ) = work( i ) + aa
525 aa = abs( a( i+j*lda ) )
528 work( j-k ) = work( j-k ) + s
530 s = abs( a( i+j*lda ) )
534 aa = abs( a( i+j*lda ) )
536 work( l ) = work( l ) + aa
539 work( j ) = work( j ) + s
554 aa = abs( a( i+j*lda ) )
556 work( i ) = work( i ) + aa
559 aa = abs( a( i+j*lda ) )
566 aa = abs( a( i+j*lda ) )
568 DO l = k + j + 1, n - 1
570 aa = abs( a( i+j*lda ) )
573 work( l ) = work( l ) + aa
575 work( k+j ) = work( k+j ) + s
580 aa = abs( a( i+j*lda ) )
582 work( i ) = work( i ) + aa
586 aa = abs( a( i+j*lda ) )
595 aa = abs( a( i+j*lda ) )
597 work( i ) = work( i ) + aa
600 work( j ) = work( j ) + s
614 aa = abs( a( i+j*lda ) )
616 work( i+k ) = work( i+k ) + aa
622 aa = abs( a( 0+j*lda ) )
626 aa = abs( a( i+j*lda ) )
628 work( i+k ) = work( i+k ) + aa
631 work( j ) = work( j ) + s
635 aa = abs( a( i+j*lda ) )
637 work( i ) = work( i ) + aa
641 aa = abs( a( i+j*lda ) )
644 work( j-k-1 ) = work( j-k-1 ) + s
646 aa = abs( a( i+j*lda ) )
651 aa = abs( a( i+j*lda ) )
653 work( l ) = work( l ) + aa
656 work( j ) = work( j ) + s
661 aa = abs( a( i+j*lda ) )
663 work( i ) = work( i ) + aa
667 aa = abs( a( i+j*lda ) )
670 work( i ) = work( i ) + s
684 work( i+k ) = work( i+k ) + aa
687 work( k ) = work( k ) + s
692 aa = abs( a( i+j*lda ) )
694 work( i ) = work( i ) + aa
697 aa = abs( a( i+j*lda ) )
704 aa = abs( a( i+j*lda ) )
706 DO l = k + j + 1, n - 1
708 aa = abs( a( i+j*lda ) )
711 work( l ) = work( l ) + aa
713 work( k+j ) = work( k+j ) + s
718 aa = abs( a( i+j*lda ) )
720 work( i ) = work( i ) + aa
724 aa = abs( a( i+j*lda ) )
733 aa = abs( a( i+j*lda ) )
735 work( i ) = work( i ) + aa
738 work( j-1 ) = work( j-1 ) + s
745 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
759 CALL
slassq( k-j-2, a( k+j+1+j*lda ), 1, scale, s )
763 CALL
slassq( k+j-1, a( 0+j*lda ), 1, scale, s )
768 CALL
slassq( k-1, a( k ), lda+1, scale, s )
770 CALL
slassq( k, a( k-1 ), lda+1, scale, s )
775 CALL
slassq( n-j-1, a( j+1+j*lda ), 1, scale, s )
779 CALL
slassq( j, a( 0+( 1+j )*lda ), 1, scale, s )
784 CALL
slassq( k, a( 0 ), lda+1, scale, s )
786 CALL
slassq( k-1, a( 0+lda ), lda+1, scale, s )
794 CALL
slassq( j, a( 0+( k+j )*lda ), 1, scale, s )
798 CALL
slassq( k, a( 0+j*lda ), 1, scale, s )
802 CALL
slassq( k-j-1, a( j+1+( j+k-1 )*lda ), 1,
808 CALL
slassq( k-1, a( 0+k*lda ), lda+1, scale, s )
810 CALL
slassq( k, a( 0+( k-1 )*lda ), lda+1, scale, s )
815 CALL
slassq( j, a( 0+j*lda ), 1, scale, s )
819 CALL
slassq( k, a( 0+j*lda ), 1, scale, s )
823 CALL
slassq( k-j-2, a( j+2+j*lda ), 1, scale, s )
828 CALL
slassq( k, a( 0 ), lda+1, scale, s )
830 CALL
slassq( k-1, a( 1 ), lda+1, scale, s )
841 CALL
slassq( k-j-1, a( k+j+2+j*lda ), 1, scale, s )
845 CALL
slassq( k+j, a( 0+j*lda ), 1, scale, s )
850 CALL
slassq( k, a( k+1 ), lda+1, scale, s )
852 CALL
slassq( k, a( k ), lda+1, scale, s )
857 CALL
slassq( n-j-1, a( j+2+j*lda ), 1, scale, s )
861 CALL
slassq( j, a( 0+j*lda ), 1, scale, s )
866 CALL
slassq( k, a( 1 ), lda+1, scale, s )
868 CALL
slassq( k, a( 0 ), lda+1, scale, s )
876 CALL
slassq( j, a( 0+( k+1+j )*lda ), 1, scale, s )
880 CALL
slassq( k, a( 0+j*lda ), 1, scale, s )
884 CALL
slassq( k-j-1, a( j+1+( j+k )*lda ), 1, scale,
890 CALL
slassq( k, a( 0+( k+1 )*lda ), lda+1, scale, s )
892 CALL
slassq( k, a( 0+k*lda ), lda+1, scale, s )
897 CALL
slassq( j, a( 0+( j+1 )*lda ), 1, scale, s )
901 CALL
slassq( k, a( 0+j*lda ), 1, scale, s )
905 CALL
slassq( k-j-1, a( j+1+j*lda ), 1, scale, s )
910 CALL
slassq( k, a( lda ), lda+1, scale, s )
912 CALL
slassq( k, a( 0 ), lda+1, scale, s )
917 value = scale*sqrt( s )