![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
00001 *> \brief \b ZERRAB 00002 * 00003 * =========== DOCUMENTATION =========== 00004 * 00005 * Online html documentation available at 00006 * http://www.netlib.org/lapack/explore-html/ 00007 * 00008 * Definition: 00009 * =========== 00010 * 00011 * SUBROUTINE ZERRAB( NUNIT ) 00012 * 00013 * .. Scalar Arguments .. 00014 * INTEGER NUNIT 00015 * .. 00016 * 00017 * 00018 *> \par Purpose: 00019 * ============= 00020 *> 00021 *> \verbatim 00022 *> 00023 *> DERRAB tests the error exits for ZCGESV. 00024 *> \endverbatim 00025 * 00026 * Arguments: 00027 * ========== 00028 * 00029 *> \param[in] NUNIT 00030 *> \verbatim 00031 *> NUNIT is INTEGER 00032 *> The unit number for output. 00033 *> \endverbatim 00034 * 00035 * Authors: 00036 * ======== 00037 * 00038 *> \author Univ. of Tennessee 00039 *> \author Univ. of California Berkeley 00040 *> \author Univ. of Colorado Denver 00041 *> \author NAG Ltd. 00042 * 00043 *> \date November 2011 00044 * 00045 *> \ingroup complex16_lin 00046 * 00047 * ===================================================================== 00048 SUBROUTINE ZERRAB( NUNIT ) 00049 * 00050 * -- LAPACK test routine (version 3.4.0) -- 00051 * -- LAPACK is a software package provided by Univ. of Tennessee, -- 00052 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00053 * November 2011 00054 * 00055 * .. Scalar Arguments .. 00056 INTEGER NUNIT 00057 * .. 00058 * 00059 * ===================================================================== 00060 * 00061 * .. Parameters .. 00062 INTEGER NMAX 00063 PARAMETER ( NMAX = 4 ) 00064 * .. 00065 * .. Local Scalars .. 00066 INTEGER I, INFO, ITER, J 00067 * .. 00068 * .. Local Arrays .. 00069 INTEGER IP( NMAX ) 00070 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 00071 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ), 00072 $ W( 2*NMAX ), X( NMAX ) 00073 COMPLEX*16 WORK(1) 00074 COMPLEX SWORK(1) 00075 DOUBLE PRECISION RWORK(1) 00076 * .. 00077 * .. External Functions .. 00078 * .. 00079 * .. External Subroutines .. 00080 EXTERNAL CHKXER, ZCGESV 00081 * .. 00082 * .. Scalars in Common .. 00083 LOGICAL LERR, OK 00084 CHARACTER*32 SRNAMT 00085 INTEGER INFOT, NOUT 00086 * .. 00087 * .. Common blocks .. 00088 COMMON / INFOC / INFOT, NOUT, OK, LERR 00089 COMMON / SRNAMC / SRNAMT 00090 * .. 00091 * .. Intrinsic Functions .. 00092 INTRINSIC DBLE 00093 * .. 00094 * .. Executable Statements .. 00095 * 00096 NOUT = NUNIT 00097 WRITE( NOUT, FMT = * ) 00098 * 00099 * Set the variables to innocuous values. 00100 * 00101 DO 20 J = 1, NMAX 00102 DO 10 I = 1, NMAX 00103 A( I, J ) = 1.D0 / DBLE( I+J ) 00104 AF( I, J ) = 1.D0 / DBLE( I+J ) 00105 10 CONTINUE 00106 B( J ) = 0.D0 00107 R1( J ) = 0.D0 00108 R2( J ) = 0.D0 00109 W( J ) = 0.D0 00110 X( J ) = 0.D0 00111 C( J ) = 0.D0 00112 R( J ) = 0.D0 00113 IP( J ) = J 00114 20 CONTINUE 00115 OK = .TRUE. 00116 * 00117 SRNAMT = 'ZCGESV' 00118 INFOT = 1 00119 CALL ZCGESV(-1,0,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO) 00120 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 00121 INFOT = 2 00122 CALL ZCGESV(0,-1,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO) 00123 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 00124 INFOT = 4 00125 CALL ZCGESV(2,1,A,1,IP,B,2,X,2,WORK,SWORK,RWORK,ITER,INFO) 00126 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 00127 INFOT = 7 00128 CALL ZCGESV(2,1,A,2,IP,B,1,X,2,WORK,SWORK,RWORK,ITER,INFO) 00129 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 00130 INFOT = 9 00131 CALL ZCGESV(2,1,A,2,IP,B,2,X,1,WORK,SWORK,RWORK,ITER,INFO) 00132 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK ) 00133 * 00134 * Print a summary line. 00135 * 00136 IF( OK ) THEN 00137 WRITE( NOUT, FMT = 9999 )'ZCGESV' 00138 ELSE 00139 WRITE( NOUT, FMT = 9998 )'ZCGESV' 00140 END IF 00141 * 00142 9999 FORMAT( 1X, A6, ' drivers passed the tests of the error exits' ) 00143 9998 FORMAT( ' *** ', A6, ' drivers failed the tests of the error ', 00144 $ 'exits ***' ) 00145 * 00146 RETURN 00147 * 00148 * End of ZERRAB 00149 * 00150 END