2449 parameter( zero = ( 0.0, 0.0 ) )
2451 parameter( rzero = 0.0, rone = 1.0 )
2455 INTEGER KK, LDA, LDB, LDC, LDCC, M, N, NOUT
2457 CHARACTER*1 TRANSA, TRANSB
2459 COMPLEX A( LDA, * ), B( LDB, * ), C( LDC, * ),
2460 $ CC( LDCC, * ), CT( * )
2466 LOGICAL CTRANA, CTRANB, TRANA, TRANB
2468 INTRINSIC abs, aimag, conjg, max, real, sqrt
2472 abs1( cl ) = abs( real( cl ) ) + abs( aimag( cl ) )
2474 trana = transa.EQ.
'T'.OR.transa.EQ.
'C'
2475 tranb = transb.EQ.
'T'.OR.transb.EQ.
'C'
2476 ctrana = transa.EQ.
'C'
2477 ctranb = transb.EQ.
'C'
2489 IF( .NOT.trana.AND..NOT.tranb )
THEN
2492 ct( i ) = ct( i ) + a( i, k )*b( k, j )
2493 g( i ) = g( i ) + abs1( a( i, k ) )*abs1( b( k, j ) )
2496 ELSE IF( trana.AND..NOT.tranb )
THEN
2500 ct( i ) = ct( i ) + conjg( a( k, i ) )*b( k, j )
2501 g( i ) = g( i ) + abs1( a( k, i ) )*
2508 ct( i ) = ct( i ) + a( k, i )*b( k, j )
2509 g( i ) = g( i ) + abs1( a( k, i ) )*
2514 ELSE IF( .NOT.trana.AND.tranb )
THEN
2518 ct( i ) = ct( i ) + a( i, k )*conjg( b( j, k ) )
2519 g( i ) = g( i ) + abs1( a( i, k ) )*
2526 ct( i ) = ct( i ) + a( i, k )*b( j, k )
2527 g( i ) = g( i ) + abs1( a( i, k ) )*
2532 ELSE IF( trana.AND.tranb )
THEN
2537 ct( i ) = ct( i ) + conjg( a( k, i ) )*
2538 $ conjg( b( j, k ) )
2539 g( i ) = g( i ) + abs1( a( k, i ) )*
2546 ct( i ) = ct( i ) + conjg( a( k, i ) )*b( j, k )
2547 g( i ) = g( i ) + abs1( a( k, i ) )*
2556 ct( i ) = ct( i ) + a( k, i )*conjg( b( j, k ) )
2557 g( i ) = g( i ) + abs1( a( k, i ) )*
2564 ct( i ) = ct( i ) + a( k, i )*b( j, k )
2565 g( i ) = g( i ) + abs1( a( k, i ) )*
2573 ct( i ) = alpha*ct( i ) + beta*c( i, j )
2574 g( i ) = abs1( alpha )*g( i ) +
2575 $ abs1( beta )*abs1( c( i, j ) )
2582 erri = abs1( ct( i ) - cc( i, j ) )/eps
2583 IF( g( i ).NE.rzero )
2584 $ erri = erri/g( i )
2585 err = max( err, erri )
2586 IF( err*sqrt( eps ).GE.rone )
2598 WRITE( nout, fmt = 9999 )
2601 WRITE( nout, fmt = 9998 )i, ct( i ), cc( i, j )
2603 WRITE( nout, fmt = 9998 )i, cc( i, j ), ct( i )
2607 $
WRITE( nout, fmt = 9997 )j
2612 9999
FORMAT(
' ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HAL',
2613 $
'F ACCURATE *******', /
' EXPECTED RE',
2614 $
'SULT COMPUTED RESULT' )
2615 9998
FORMAT( 1x, i7, 2(
' (', g15.6,
',', g15.6,
')' ) )
2616 9997
FORMAT(
' THESE ARE THE RESULTS FOR COLUMN ', i3 )