2651 DOUBLE PRECISION zero, one
2652 parameter ( zero = 0.0d0, one = 1.0d0 )
2654 DOUBLE PRECISION alpha, beta, eps, err
2655 INTEGER incx, incy, m, n, nmax, nout
2659 DOUBLE PRECISION a( nmax, * ), g( * ), x( * ), y( * ), yt( * ),
2662 DOUBLE PRECISION erri
2663 INTEGER i, incxl, incyl, iy, j, jx, kx, ky, ml, nl
2666 INTRINSIC abs, max, sqrt
2668 tran = trans.EQ.
'T'.OR.trans.EQ.
'C'
2701 yt( iy ) = yt( iy ) + a( j, i )*x( jx )
2702 g( iy ) = g( iy ) + abs( a( j, i )*x( jx ) )
2707 yt( iy ) = yt( iy ) + a( i, j )*x( jx )
2708 g( iy ) = g( iy ) + abs( a( i, j )*x( jx ) )
2712 yt( iy ) = alpha*yt( iy ) + beta*y( iy )
2713 g( iy ) = abs( alpha )*g( iy ) + abs( beta*y( iy ) )
2721 erri = abs( yt( i ) - yy( 1 + ( i - 1 )*abs( incy ) ) )/eps
2722 IF( g( i ).NE.zero )
2723 $ erri = erri/g( i )
2724 err = max( err, erri )
2725 IF( err*sqrt( eps ).GE.one )
2734 WRITE( nout, fmt = 9999 )
2737 WRITE( nout, fmt = 9998 )i, yt( i ),
2738 $ yy( 1 + ( i - 1 )*abs( incy ) )
2740 WRITE( nout, fmt = 9998 )i,
2741 $ yy( 1 + ( i - 1 )*abs( incy ) ), yt(i)
2748 9999
FORMAT(
' ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HAL',
2749 $
'F ACCURATE *******', /
' EXPECTED RESULT COMPU',
2751 9998
FORMAT( 1x, i7, 2g18.6 )