1*> \brief \b ZERRAB 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE ZERRAB( NUNIT ) 12* 13* .. Scalar Arguments .. 14* INTEGER NUNIT 15* .. 16* 17* 18*> \par Purpose: 19* ============= 20*> 21*> \verbatim 22*> 23*> DERRAB tests the error exits for ZCGESV. 24*> \endverbatim 25* 26* Arguments: 27* ========== 28* 29*> \param[in] NUNIT 30*> \verbatim 31*> NUNIT is INTEGER 32*> The unit number for output. 33*> \endverbatim 34* 35* Authors: 36* ======== 37* 38*> \author Univ. of Tennessee 39*> \author Univ. of California Berkeley 40*> \author Univ. of Colorado Denver 41*> \author NAG Ltd. 42* 43*> \date December 2016 44* 45*> \ingroup complex16_lin 46* 47* ===================================================================== 48 SUBROUTINE ZERRAB( NUNIT ) 49* 50* -- LAPACK test routine (version 3.7.0) -- 51* -- LAPACK is a software package provided by Univ. of Tennessee, -- 52* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 53* December 2016 54* 55* .. Scalar Arguments .. 56 INTEGER NUNIT 57* .. 58* 59* ===================================================================== 60* 61* .. Parameters .. 62 INTEGER NMAX 63 PARAMETER ( NMAX = 4 ) 64* .. 65* .. Local Scalars .. 66 INTEGER I, INFO, ITER, J 67* .. 68* .. Local Arrays .. 69 INTEGER IP( NMAX ) 70 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 71 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ), 72 $ W( 2*NMAX ), X( NMAX ) 73 COMPLEX*16 WORK(1) 74 COMPLEX SWORK(1) 75 DOUBLE PRECISION RWORK(1) 76* .. 77* .. External Functions .. 78* .. 79* .. External Subroutines .. 80 EXTERNAL CHKXER, ZCGESV 81* .. 82* .. Scalars in Common .. 83 LOGICAL LERR, OK 84 CHARACTER*32 SRNAMT 85 INTEGER INFOT, NOUT 86* .. 87* .. Common blocks .. 88 COMMON / INFOC / INFOT, NOUT, OK, LERR 89 COMMON / SRNAMC / SRNAMT 90* .. 91* .. Intrinsic Functions .. 92 INTRINSIC DBLE 93* .. 94* .. Executable Statements .. 95* 96 NOUT = NUNIT 97 WRITE( NOUT, FMT = * ) 98* 99* Set the variables to innocuous values. 100* 101 DO 20 J = 1, NMAX 102 DO 10 I = 1, NMAX 103 A( I, J ) = 1.D0 / DBLE( I+J ) 104 AF( I, J ) = 1.D0 / DBLE( I+J ) 105 10 CONTINUE 106 B( J ) = 0.D0 107 R1( J ) = 0.D0 108 R2( J ) = 0.D0 109 W( J ) = 0.D0 110 X( J ) = 0.D0 111 C( J ) = 0.D0 112 R( J ) = 0.D0 113 IP( J ) = J 114 20 CONTINUE 115 OK = .TRUE. 116* 117 SRNAMT = 'ZCGESV' 118 INFOT = 1 119 CALL ZCGESV(-1,0,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO) 120 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 121 INFOT = 2 122 CALL ZCGESV(0,-1,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO) 123 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 124 INFOT = 4 125 CALL ZCGESV(2,1,A,1,IP,B,2,X,2,WORK,SWORK,RWORK,ITER,INFO) 126 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 127 INFOT = 7 128 CALL ZCGESV(2,1,A,2,IP,B,1,X,2,WORK,SWORK,RWORK,ITER,INFO) 129 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 130 INFOT = 9 131 CALL ZCGESV(2,1,A,2,IP,B,2,X,1,WORK,SWORK,RWORK,ITER,INFO) 132 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 133* 134* Print a summary line. 135* 136 IF( OK ) THEN 137 WRITE( NOUT, FMT = 9999 )'ZCGESV' 138 ELSE 139 WRITE( NOUT, FMT = 9998 )'ZCGESV' 140 END IF 141* 142 9999 FORMAT( 1X, A6, ' drivers passed the tests of the error exits' ) 143 9998 FORMAT( ' *** ', A6, ' drivers failed the tests of the error ', 144 $ 'exits ***' ) 145* 146 RETURN 147* 148* End of ZERRAB 149* 150 END 151