@@ -226,7 +226,7 @@ SUBROUTINE CCKGSV( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
226
226
CHARACTER * 3 PATH
227
227
INTEGER I, IINFO, IM, IMAT, KLA, KLB, KUA, KUB, LDA,
228
228
$ LDB, LDQ, LDR, LDU, LDV, LWORK, M, MODEA,
229
- $ MODEB, N, NFAIL, NRUN, NT, P
229
+ $ MODEB, N, NFAIL, NRUN, NT, P, K, L
230
230
REAL ANORM, BNORM, CNDNMA, CNDNMB
231
231
* ..
232
232
* .. Local Arrays ..
@@ -257,6 +257,43 @@ SUBROUTINE CCKGSV( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
257
257
LDR = NMAX
258
258
LWORK = NMAX* NMAX
259
259
*
260
+ * Specific cases
261
+ *
262
+ * Test: https://github.com/Reference-LAPACK/lapack/issues/411#issue-608776973
263
+ *
264
+ M = 6
265
+ P = 6
266
+ N = 6
267
+ A(1 :M* N) = CMPLX (1.E0 , 0.E0 )
268
+ B(1 :M* N) = CMPLX (0.E0 , 0.E0 )
269
+ B(1+0 * M) = CMPLX (9.E19 , 0.E0 )
270
+ B(2+1 * M) = CMPLX (9.E18 , 0.E0 )
271
+ B(3+2 * M) = CMPLX (9.E17 , 0.E0 )
272
+ B(4+3 * M) = CMPLX (9.E16 , 0.E0 )
273
+ B(5+4 * M) = CMPLX (9.E15 , 0.E0 )
274
+ B(6+5 * M) = CMPLX (9.E14 , 0.E0 )
275
+ CALL CGGSVD3(' N' ,' N' ,' N' , M, P, N, K, L, A, M, B, M,
276
+ $ ALPHA, BETA, U, 1 , V, 1 , Q, 1 ,
277
+ $ WORK, M* N, RWORK, IWORK, INFO)
278
+ *
279
+ * Print information there is a NAN in BETA
280
+ DO 40 I = 1 , L
281
+ IF ( BETA(I).NE. BETA(I) ) THEN
282
+ INFO = - I
283
+ EXIT
284
+ END IF
285
+ 40 CONTINUE
286
+ IF ( INFO.LT. 0 ) THEN
287
+ IF ( NFAIL.EQ. 0 .AND. FIRSTT ) THEN
288
+ FIRSTT = .FALSE.
289
+ CALL ALAHDG( NOUT, PATH )
290
+ END IF
291
+ WRITE ( NOUT, FMT = 9997 ) - INFO
292
+ NFAIL = NFAIL + 1
293
+ END IF
294
+ NRUN = NRUN + 1
295
+ INFO = 0
296
+ *
260
297
* Do for each value of M in MVAL.
261
298
*
262
299
DO 30 IM = 1 , NM
@@ -332,6 +369,7 @@ SUBROUTINE CCKGSV( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
332
369
9999 FORMAT ( ' CLATMS in CCKGSV INFO = ' , I5 )
333
370
9998 FORMAT ( ' M=' , I4, ' P=' , I4, ' , N=' , I4, ' , type ' , I2,
334
371
$ ' , test ' , I2, ' , ratio=' , G13.6 )
372
+ 9997 FORMAT ( ' FOUND NaN in BETA(' , I4,' )' )
335
373
RETURN
336
374
*
337
375
* End of CCKGSV
0 commit comments