1*> \brief \b ZERRRFP 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 ZERRRFP( NUNIT ) 12* 13* .. Scalar Arguments .. 14* INTEGER NUNIT 15* .. 16* 17* 18*> \par Purpose: 19* ============= 20*> 21*> \verbatim 22*> 23*> ZERRRFP tests the error exits for the COMPLEX*16 driver routines 24*> for solving linear systems of equations. 25*> 26*> ZDRVRFP tests the COMPLEX*16 LAPACK RFP routines: 27*> ZTFSM, ZTFTRI, ZHFRK, ZTFTTP, ZTFTTR, ZPFTRF, ZPFTRS, ZTPTTF, 28*> ZTPTTR, ZTRTTF, and ZTRTTP 29*> \endverbatim 30* 31* Arguments: 32* ========== 33* 34*> \param[in] NUNIT 35*> \verbatim 36*> NUNIT is INTEGER 37*> The unit number for output. 38*> \endverbatim 39* 40* Authors: 41* ======== 42* 43*> \author Univ. of Tennessee 44*> \author Univ. of California Berkeley 45*> \author Univ. of Colorado Denver 46*> \author NAG Ltd. 47* 48*> \ingroup complex16_lin 49* 50* ===================================================================== 51 SUBROUTINE ZERRRFP( NUNIT ) 52* 53* -- LAPACK test routine -- 54* -- LAPACK is a software package provided by Univ. of Tennessee, -- 55* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 56* 57* .. Scalar Arguments .. 58 INTEGER NUNIT 59* .. 60* 61* ===================================================================== 62* 63* .. 64* .. Local Scalars .. 65 INTEGER INFO 66 DOUBLE PRECISION ALPHA, BETA 67 COMPLEX*16 CALPHA 68* .. 69* .. Local Arrays .. 70 COMPLEX*16 A( 1, 1), B( 1, 1) 71* .. 72* .. External Subroutines .. 73 EXTERNAL CHKXER, ZTFSM, ZTFTRI, ZHFRK, ZTFTTP, ZTFTTR, 74 + ZPFTRI, ZPFTRF, ZPFTRS, ZTPTTF, ZTPTTR, ZTRTTF, 75 + ZTRTTP 76* .. 77* .. Scalars in Common .. 78 LOGICAL LERR, OK 79 CHARACTER*32 SRNAMT 80 INTEGER INFOT, NOUT 81* .. 82* .. Intrinsic Functions .. 83 INTRINSIC DCMPLX 84* .. 85* .. Common blocks .. 86 COMMON / INFOC / INFOT, NOUT, OK, LERR 87 COMMON / SRNAMC / SRNAMT 88* .. 89* .. Executable Statements .. 90* 91 NOUT = NUNIT 92 OK = .TRUE. 93 A( 1, 1 ) = DCMPLX( 1.0D0 , 1.0D0 ) 94 B( 1, 1 ) = DCMPLX( 1.0D0 , 1.0D0 ) 95 ALPHA = 1.0D0 96 CALPHA = DCMPLX( 1.0D0 , 1.0D0 ) 97 BETA = 1.0D0 98* 99 SRNAMT = 'ZPFTRF' 100 INFOT = 1 101 CALL ZPFTRF( '/', 'U', 0, A, INFO ) 102 CALL CHKXER( 'ZPFTRF', INFOT, NOUT, LERR, OK ) 103 INFOT = 2 104 CALL ZPFTRF( 'N', '/', 0, A, INFO ) 105 CALL CHKXER( 'ZPFTRF', INFOT, NOUT, LERR, OK ) 106 INFOT = 3 107 CALL ZPFTRF( 'N', 'U', -1, A, INFO ) 108 CALL CHKXER( 'ZPFTRF', INFOT, NOUT, LERR, OK ) 109* 110 SRNAMT = 'ZPFTRS' 111 INFOT = 1 112 CALL ZPFTRS( '/', 'U', 0, 0, A, B, 1, INFO ) 113 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 114 INFOT = 2 115 CALL ZPFTRS( 'N', '/', 0, 0, A, B, 1, INFO ) 116 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 117 INFOT = 3 118 CALL ZPFTRS( 'N', 'U', -1, 0, A, B, 1, INFO ) 119 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 120 INFOT = 4 121 CALL ZPFTRS( 'N', 'U', 0, -1, A, B, 1, INFO ) 122 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 123 INFOT = 7 124 CALL ZPFTRS( 'N', 'U', 0, 0, A, B, 0, INFO ) 125 CALL CHKXER( 'ZPFTRS', INFOT, NOUT, LERR, OK ) 126* 127 SRNAMT = 'ZPFTRI' 128 INFOT = 1 129 CALL ZPFTRI( '/', 'U', 0, A, INFO ) 130 CALL CHKXER( 'ZPFTRI', INFOT, NOUT, LERR, OK ) 131 INFOT = 2 132 CALL ZPFTRI( 'N', '/', 0, A, INFO ) 133 CALL CHKXER( 'ZPFTRI', INFOT, NOUT, LERR, OK ) 134 INFOT = 3 135 CALL ZPFTRI( 'N', 'U', -1, A, INFO ) 136 CALL CHKXER( 'ZPFTRI', INFOT, NOUT, LERR, OK ) 137* 138 SRNAMT = 'ZTFSM ' 139 INFOT = 1 140 CALL ZTFSM( '/', 'L', 'U', 'C', 'U', 0, 0, CALPHA, A, B, 1 ) 141 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 142 INFOT = 2 143 CALL ZTFSM( 'N', '/', 'U', 'C', 'U', 0, 0, CALPHA, A, B, 1 ) 144 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 145 INFOT = 3 146 CALL ZTFSM( 'N', 'L', '/', 'C', 'U', 0, 0, CALPHA, A, B, 1 ) 147 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 148 INFOT = 4 149 CALL ZTFSM( 'N', 'L', 'U', '/', 'U', 0, 0, CALPHA, A, B, 1 ) 150 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 151 INFOT = 5 152 CALL ZTFSM( 'N', 'L', 'U', 'C', '/', 0, 0, CALPHA, A, B, 1 ) 153 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 154 INFOT = 6 155 CALL ZTFSM( 'N', 'L', 'U', 'C', 'U', -1, 0, CALPHA, A, B, 1 ) 156 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 157 INFOT = 7 158 CALL ZTFSM( 'N', 'L', 'U', 'C', 'U', 0, -1, CALPHA, A, B, 1 ) 159 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 160 INFOT = 11 161 CALL ZTFSM( 'N', 'L', 'U', 'C', 'U', 0, 0, CALPHA, A, B, 0 ) 162 CALL CHKXER( 'ZTFSM ', INFOT, NOUT, LERR, OK ) 163* 164 SRNAMT = 'ZTFTRI' 165 INFOT = 1 166 CALL ZTFTRI( '/', 'L', 'N', 0, A, INFO ) 167 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 168 INFOT = 2 169 CALL ZTFTRI( 'N', '/', 'N', 0, A, INFO ) 170 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 171 INFOT = 3 172 CALL ZTFTRI( 'N', 'L', '/', 0, A, INFO ) 173 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 174 INFOT = 4 175 CALL ZTFTRI( 'N', 'L', 'N', -1, A, INFO ) 176 CALL CHKXER( 'ZTFTRI', INFOT, NOUT, LERR, OK ) 177* 178 SRNAMT = 'ZTFTTR' 179 INFOT = 1 180 CALL ZTFTTR( '/', 'U', 0, A, B, 1, INFO ) 181 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 182 INFOT = 2 183 CALL ZTFTTR( 'N', '/', 0, A, B, 1, INFO ) 184 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 185 INFOT = 3 186 CALL ZTFTTR( 'N', 'U', -1, A, B, 1, INFO ) 187 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 188 INFOT = 6 189 CALL ZTFTTR( 'N', 'U', 0, A, B, 0, INFO ) 190 CALL CHKXER( 'ZTFTTR', INFOT, NOUT, LERR, OK ) 191* 192 SRNAMT = 'ZTRTTF' 193 INFOT = 1 194 CALL ZTRTTF( '/', 'U', 0, A, 1, B, INFO ) 195 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 196 INFOT = 2 197 CALL ZTRTTF( 'N', '/', 0, A, 1, B, INFO ) 198 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 199 INFOT = 3 200 CALL ZTRTTF( 'N', 'U', -1, A, 1, B, INFO ) 201 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 202 INFOT = 5 203 CALL ZTRTTF( 'N', 'U', 0, A, 0, B, INFO ) 204 CALL CHKXER( 'ZTRTTF', INFOT, NOUT, LERR, OK ) 205* 206 SRNAMT = 'ZTFTTP' 207 INFOT = 1 208 CALL ZTFTTP( '/', 'U', 0, A, B, INFO ) 209 CALL CHKXER( 'ZTFTTP', INFOT, NOUT, LERR, OK ) 210 INFOT = 2 211 CALL ZTFTTP( 'N', '/', 0, A, B, INFO ) 212 CALL CHKXER( 'ZTFTTP', INFOT, NOUT, LERR, OK ) 213 INFOT = 3 214 CALL ZTFTTP( 'N', 'U', -1, A, B, INFO ) 215 CALL CHKXER( 'ZTFTTP', INFOT, NOUT, LERR, OK ) 216* 217 SRNAMT = 'ZTPTTF' 218 INFOT = 1 219 CALL ZTPTTF( '/', 'U', 0, A, B, INFO ) 220 CALL CHKXER( 'ZTPTTF', INFOT, NOUT, LERR, OK ) 221 INFOT = 2 222 CALL ZTPTTF( 'N', '/', 0, A, B, INFO ) 223 CALL CHKXER( 'ZTPTTF', INFOT, NOUT, LERR, OK ) 224 INFOT = 3 225 CALL ZTPTTF( 'N', 'U', -1, A, B, INFO ) 226 CALL CHKXER( 'ZTPTTF', INFOT, NOUT, LERR, OK ) 227* 228 SRNAMT = 'ZTRTTP' 229 INFOT = 1 230 CALL ZTRTTP( '/', 0, A, 1, B, INFO ) 231 CALL CHKXER( 'ZTRTTP', INFOT, NOUT, LERR, OK ) 232 INFOT = 2 233 CALL ZTRTTP( 'U', -1, A, 1, B, INFO ) 234 CALL CHKXER( 'ZTRTTP', INFOT, NOUT, LERR, OK ) 235 INFOT = 4 236 CALL ZTRTTP( 'U', 0, A, 0, B, INFO ) 237 CALL CHKXER( 'ZTRTTP', INFOT, NOUT, LERR, OK ) 238* 239 SRNAMT = 'ZTPTTR' 240 INFOT = 1 241 CALL ZTPTTR( '/', 0, A, B, 1, INFO ) 242 CALL CHKXER( 'ZTPTTR', INFOT, NOUT, LERR, OK ) 243 INFOT = 2 244 CALL ZTPTTR( 'U', -1, A, B, 1, INFO ) 245 CALL CHKXER( 'ZTPTTR', INFOT, NOUT, LERR, OK ) 246 INFOT = 5 247 CALL ZTPTTR( 'U', 0, A, B, 0, INFO ) 248 CALL CHKXER( 'ZTPTTR', INFOT, NOUT, LERR, OK ) 249* 250 SRNAMT = 'ZHFRK ' 251 INFOT = 1 252 CALL ZHFRK( '/', 'U', 'N', 0, 0, ALPHA, A, 1, BETA, B ) 253 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 254 INFOT = 2 255 CALL ZHFRK( 'N', '/', 'N', 0, 0, ALPHA, A, 1, BETA, B ) 256 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 257 INFOT = 3 258 CALL ZHFRK( 'N', 'U', '/', 0, 0, ALPHA, A, 1, BETA, B ) 259 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 260 INFOT = 4 261 CALL ZHFRK( 'N', 'U', 'N', -1, 0, ALPHA, A, 1, BETA, B ) 262 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 263 INFOT = 5 264 CALL ZHFRK( 'N', 'U', 'N', 0, -1, ALPHA, A, 1, BETA, B ) 265 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 266 INFOT = 8 267 CALL ZHFRK( 'N', 'U', 'N', 0, 0, ALPHA, A, 0, BETA, B ) 268 CALL CHKXER( 'ZHFRK ', INFOT, NOUT, LERR, OK ) 269* 270* Print a summary line. 271* 272 IF( OK ) THEN 273 WRITE( NOUT, FMT = 9999 ) 274 ELSE 275 WRITE( NOUT, FMT = 9998 ) 276 END IF 277* 278 9999 FORMAT( 1X, 'COMPLEX*16 RFP routines passed the tests of the ', 279 $ 'error exits' ) 280 9998 FORMAT( ' *** RFP routines failed the tests of the error ', 281 $ 'exits ***' ) 282 RETURN 283* 284* End of ZERRRFP 285* 286 END 287