Skip to content

Commit 7002eb5

Browse files
authored
Merge pull request #533 from weslleyspereira/add-testCase-from-issue411
Adds a single pencil for testing CGGSVD3
2 parents 218d21a + 95cb123 commit 7002eb5

File tree

1 file changed

+39
-1
lines changed

1 file changed

+39
-1
lines changed

TESTING/EIG/cckgsv.f

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ SUBROUTINE CCKGSV( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
226226
CHARACTER*3 PATH
227227
INTEGER I, IINFO, IM, IMAT, KLA, KLB, KUA, KUB, LDA,
228228
$ LDB, LDQ, LDR, LDU, LDV, LWORK, M, MODEA,
229-
$ MODEB, N, NFAIL, NRUN, NT, P
229+
$ MODEB, N, NFAIL, NRUN, NT, P, K, L
230230
REAL ANORM, BNORM, CNDNMA, CNDNMB
231231
* ..
232232
* .. Local Arrays ..
@@ -257,6 +257,43 @@ SUBROUTINE CCKGSV( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
257257
LDR = NMAX
258258
LWORK = NMAX*NMAX
259259
*
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+
*
260297
* Do for each value of M in MVAL.
261298
*
262299
DO 30 IM = 1, NM
@@ -332,6 +369,7 @@ SUBROUTINE CCKGSV( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
332369
9999 FORMAT( ' CLATMS in CCKGSV INFO = ', I5 )
333370
9998 FORMAT( ' M=', I4, ' P=', I4, ', N=', I4, ', type ', I2,
334371
$ ', test ', I2, ', ratio=', G13.6 )
372+
9997 FORMAT( ' FOUND NaN in BETA(', I4,')' )
335373
RETURN
336374
*
337375
* End of CCKGSV

0 commit comments

Comments
 (0)