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