Skip to content

Commit 9c3d06a

Browse files
committed
added single precision test code for SGECXX
modified: TESTING/LIN/CMakeLists.txt modified: TESTING/LIN/Makefile modified: TESTING/LIN/schkaa.F new file: TESTING/LIN/schkcxx.f new file: TESTING/LIN/serrcxx.f modified: TESTING/LIN/slatb4.f modified: TESTING/stest.in
1 parent 656fbeb commit 9c3d06a

7 files changed

Lines changed: 2795 additions & 35 deletions

File tree

TESTING/LIN/CMakeLists.txt

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ set(DZLNTST dlaord.f)
99
set(SLINTST schkaa.F
1010
schkeq.f schkgb.f schkge.f schkgt.f
1111
schklq.f schkpb.f schkpo.f schkps.f schkpp.f
12-
schkpt.f schkq3.f schkqp3rk.f schkql.f schkqr.f schkrq.f
13-
schksp.f schksy.f schksy_rook.f schksy_rk.f
14-
schksy_aa.f schksy_aa_2stage.f
12+
schkpt.f schkq3.f schkqp3rk.f schkcxx.f schkql.f schkqr.f schkrq.f
13+
schksp.f schksy.f schksy_rook.f schksy_rk.f
14+
schksy_aa.f schksy_aa_2stage.f
1515
schktb.f schktp.f schktr.f
1616
schktz.f
1717
sdrvgt.f sdrvls.f sdrvpb.f
18-
sdrvpp.f sdrvpt.f sdrvsp.f sdrvsy_rook.f sdrvsy_rk.f
18+
sdrvpp.f sdrvpt.f sdrvsp.f sdrvsy_rook.f sdrvsy_rk.f
1919
sdrvsy_aa.f sdrvsy_aa_2stage.f
2020
serrgt.f serrlq.f serrls.f
2121
serrps.f serrql.f serrqp.f serrqr.f
@@ -32,15 +32,16 @@ set(SLINTST schkaa.F
3232
sqrt01.f sqrt01p.f sqrt02.f sqrt03.f sqrt11.f sqrt12.f
3333
sqrt13.f sqrt14.f sqrt15.f sqrt16.f sqrt17.f
3434
srqt01.f srqt02.f srqt03.f srzt01.f srzt02.f
35-
sspt01.f ssyt01.f ssyt01_rook.f ssyt01_3.f
35+
sspt01.f ssyt01.f ssyt01_rook.f ssyt01_3.f
3636
ssyt01_aa.f
3737
stbt02.f stbt03.f stbt05.f stbt06.f stpt01.f
3838
stpt02.f stpt03.f stpt05.f stpt06.f strt01.f
3939
strt02.f strt03.f strt05.f strt06.f
4040
sgennd.f sqrt04.f sqrt05.f schkqrt.f serrqrt.f schkqrtp.f serrqrtp.f
4141
schklqt.f schklqtp.f schktsqr.f
4242
serrlqt.f serrlqtp.f serrtsqr.f stsqr01.f slqt04.f slqt05.f
43-
schkorhr_col.f serrorhr_col.f sorhr_col01.f sorhr_col02.f)
43+
schkorhr_col.f serrorhr_col.f sorhr_col01.f sorhr_col02.f
44+
serrcxx.f)
4445

4546
if(USE_XBLAS)
4647
list(APPEND SLINTST sdrvgbx.f sdrvgex.f sdrvsyx.f sdrvpox.f
@@ -53,20 +54,20 @@ endif()
5354

5455
set(CLINTST cchkaa.F
5556
cchkeq.f cchkgb.f cchkge.f cchkgt.f
56-
cchkhe.f cchkhe_rook.f cchkhe_rk.f
57+
cchkhe.f cchkhe_rook.f cchkhe_rk.f
5758
cchkhe_aa.f cchkhe_aa_2stage.f
5859
cchkhp.f cchklq.f cchkpb.f
5960
cchkpo.f cchkps.f cchkpp.f cchkpt.f cchkq3.f cchkqp3rk.f cchkql.f
6061
cchkqr.f cchkrq.f cchksp.f cchksy.f cchksy_rook.f cchksy_rk.f
6162
cchksy_aa.f cchksy_aa_2stage.f
6263
cchktb.f
6364
cchktp.f cchktr.f cchktz.f
64-
cdrvgt.f cdrvhe_rook.f cdrvhe_rk.f
65+
cdrvgt.f cdrvhe_rook.f cdrvhe_rk.f
6566
cdrvhe_aa.f cdrvhe_aa_2stage.f cdrvsy_aa_2stage.f
6667
cdrvhp.f
6768
cdrvls.f cdrvpb.f cdrvpp.f cdrvpt.f
68-
cdrvsp.f cdrvsy_rook.f cdrvsy_rk.f
69-
cdrvsy_aa.f
69+
cdrvsp.f cdrvsy_rook.f cdrvsy_rk.f
70+
cdrvsy_aa.f
7071
cerrgt.f cerrlq.f
7172
cerrls.f cerrps.f cerrql.f cerrqp.f
7273
cerrqr.f cerrrq.f cerrtr.f cerrtz.f
@@ -87,7 +88,7 @@ set(CLINTST cchkaa.F
8788
cqrt17.f crqt01.f crqt02.f crqt03.f crzt01.f crzt02.f
8889
csbmv.f cspt01.f
8990
cspt02.f cspt03.f csyt01.f csyt01_rook.f csyt01_3.f
90-
csyt01_aa.f
91+
csyt01_aa.f
9192
csyt02.f csyt03.f
9293
ctbt02.f ctbt03.f ctbt05.f ctbt06.f ctpt01.f
9394
ctpt02.f ctpt03.f ctpt05.f ctpt06.f ctrt01.f
@@ -110,13 +111,13 @@ endif()
110111
set(DLINTST dchkaa.F
111112
dchkeq.f dchkgb.f dchkge.f dchkgt.f
112113
dchklq.f dchkpb.f dchkpo.f dchkps.f dchkpp.f
113-
dchkpt.f dchkq3.f dchkqp3rk.f dchkcxx.f dchkql.f dchkqr.f
114-
dchkrq.f dchksp.f dchksy.f dchksy_rook.f dchksy_rk.f
114+
dchkpt.f dchkq3.f dchkqp3rk.f dchkcxx.f dchkql.f dchkqr.f
115+
dchkrq.f dchksp.f dchksy.f dchksy_rook.f dchksy_rk.f
115116
dchksy_aa.f dchksy_aa_2stage.f
116117
dchktb.f dchktp.f dchktr.f
117118
dchktz.f
118119
ddrvgt.f ddrvls.f ddrvpb.f
119-
ddrvpp.f ddrvpt.f ddrvsp.f ddrvsy_rook.f ddrvsy_rk.f
120+
ddrvpp.f ddrvpt.f ddrvsp.f ddrvsy_rook.f ddrvsy_rk.f
120121
ddrvsy_aa.f ddrvsy_aa_2stage.f
121122
derrgt.f derrlq.f derrls.f
122123
derrps.f derrql.f derrqp.f derrqr.f
@@ -156,20 +157,20 @@ endif()
156157

157158
set(ZLINTST zchkaa.F
158159
zchkeq.f zchkgb.f zchkge.f zchkgt.f
159-
zchkhe.f zchkhe_rook.f zchkhe_rk.f
160+
zchkhe.f zchkhe_rook.f zchkhe_rk.f
160161
zchkhe_aa.f zchkhe_aa_2stage.f
161162
zchkhp.f zchklq.f zchkpb.f
162163
zchkpo.f zchkps.f zchkpp.f zchkpt.f zchkq3.f zchkqp3rk.f zchkql.f
163164
zchkqr.f zchkrq.f zchksp.f zchksy.f zchksy_rook.f zchksy_rk.f
164165
zchksy_aa.f zchksy_aa_2stage.f
165166
zchktb.f
166167
zchktp.f zchktr.f zchktz.f
167-
zdrvgt.f zdrvhe_rook.f zdrvhe_rk.f
168+
zdrvgt.f zdrvhe_rook.f zdrvhe_rk.f
168169
zdrvhe_aa.f zdrvhe_aa_2stage.f
169170
zdrvhp.f
170171
zdrvls.f zdrvpb.f zdrvpp.f zdrvpt.f
171-
zdrvsp.f zdrvsy_rook.f zdrvsy_rk.f
172-
zdrvsy_aa.f zdrvsy_aa_2stage.f
172+
zdrvsp.f zdrvsy_rook.f zdrvsy_rk.f
173+
zdrvsy_aa.f zdrvsy_aa_2stage.f
173174
zerrgt.f zerrlq.f
174175
zerrls.f zerrps.f zerrql.f zerrqp.f
175176
zerrqr.f zerrrq.f zerrtr.f zerrtz.f

TESTING/LIN/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ DZLNTST = dlaord.o
4545
SLINTST = schkaa.o \
4646
schkeq.o schkgb.o schkge.o schkgt.o \
4747
schklq.o schkpb.o schkpo.o schkps.o schkpp.o \
48-
schkpt.o schkq3.o schkqp3rk.o schkql.o schkqr.o schkrq.o \
48+
schkpt.o schkq3.o schkqp3rk.o schkcxx.o schkql.o schkqr.o schkrq.o \
4949
schksp.o schksy.o schksy_rook.o schksy_rk.o \
5050
schksy_aa.o schksy_aa_2stage.o schktb.o schktp.o schktr.o \
5151
schktz.o \
@@ -74,7 +74,8 @@ SLINTST = schkaa.o \
7474
sgennd.o sqrt04.o sqrt05.o schkqrt.o serrqrt.o schkqrtp.o serrqrtp.o \
7575
schklqt.o schklqtp.o schktsqr.o \
7676
serrlqt.o serrlqtp.o serrtsqr.o stsqr01.o slqt04.o slqt05.o \
77-
schkorhr_col.o serrorhr_col.o sorhr_col01.o sorhr_col02.o
77+
schkorhr_col.o serrorhr_col.o sorhr_col01.o sorhr_col02.o \
78+
serrcxx.o
7879

7980
ifdef USEXBLAS
8081
SLINTST += sdrvgbx.o sdrvgex.o sdrvsyx.o sdrvpox.o \

TESTING/LIN/schkaa.F

Lines changed: 42 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@
6363
*> SLQ 8 List types on next line if 0 < NTYPES < 8
6464
*> SQL 8 List types on next line if 0 < NTYPES < 8
6565
*> SQP 6 List types on next line if 0 < NTYPES < 6
66-
*> DQK 19 List types on next line if 0 < NTYPES < 19
66+
*> SQK 19 List types on next line if 0 < NTYPES < 19
67+
*> SCX 19 List types on next line if 0 < NTYPES < 19
6768
*> STZ 3 List types on next line if 0 < NTYPES < 3
6869
*> SLS 6 List types on next line if 0 < NTYPES < 6
6970
*> SEQ
@@ -144,13 +145,14 @@ PROGRAM SCHKAA
144145
* ..
145146
* .. Local Arrays ..
146147
LOGICAL DOTYPE( MATMAX )
147-
INTEGER IWORK( 25*NMAX ), MVAL( MAXIN ),
148+
INTEGER MVAL( MAXIN ),
148149
$ NBVAL( MAXIN ), NBVAL2( MAXIN ),
149150
$ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ),
150151
$ RANKVAL( MAXIN ), PIV( NMAX )
151152
* ..
152153
* .. Allocatable Arrays ..
153154
INTEGER AllocateStatus
155+
INTEGER, DIMENSION(:), ALLOCATABLE :: IWORK
154156
REAL, DIMENSION(:), ALLOCATABLE :: RWORK, S
155157
REAL, DIMENSION(:), ALLOCATABLE :: E
156158
REAL, DIMENSION(:,:), ALLOCATABLE :: A, B, WORK
@@ -161,15 +163,16 @@ PROGRAM SCHKAA
161163
EXTERNAL LSAME, LSAMEN, SECOND, SLAMCH
162164
* ..
163165
* .. External Subroutines ..
164-
EXTERNAL ALAREQ, SCHKEQ, SCHKGB, SCHKGE, SCHKGT, SCHKLQ,
165-
$ SCHKORHR_COL, SCHKPB, SCHKPO, SCHKPS, SCHKPP,
166-
$ SCHKPT, SCHKQ3, SCHKQP3RK, SCHKQL, SCHKQR,
167-
$ SCHKRQ, SCHKSP, SCHKSY, SCHKSY_ROOK, SCHKSY_RK,
168-
$ SCHKSY_AA, SCHKTB, SCHKTP, SCHKTR, SCHKTZ,
169-
$ SDRVGB, SDRVGE, SDRVGT, SDRVLS, SDRVPB, SDRVPO,
170-
$ SDRVPP, SDRVPT, SDRVSP, SDRVSY, SDRVSY_ROOK,
171-
$ SDRVSY_RK, SDRVSY_AA, ILAVER, SCHKLQTP, SCHKQRT,
172-
$ SCHKQRTP, SCHKLQT, SCHKTSQR
166+
EXTERNAL ALAREQ, SCHKCXX, SCHKEQ, SCHKGB, SCHKGE,
167+
$ SCHKGT, SCHKLQ, SCHKORHR_COL, SCHKPB, SCHKPO,
168+
$ SCHKPS, SCHKPP, SCHKPT, SCHKQ3, SCHKQP3RK,
169+
$ SCHKQL, SCHKQR, SCHKRQ, SCHKSP, SCHKSY,
170+
$ SCHKSY_ROOK, SCHKSY_RK, SCHKSY_AA, SCHKTB,
171+
$ SCHKTP, SCHKTR, SCHKTZ, SDRVGB, SDRVGE, SDRVGT,
172+
$ SDRVLS, SDRVPB, SDRVPO, SDRVPP, SDRVPT, SDRVSP,
173+
$ SDRVSY, SDRVSY_ROOK, SDRVSY_RK, SDRVSY_AA,
174+
$ ILAVER, SCHKLQTP, SCHKQRT, SCHKQRTP, SCHKLQT,
175+
$ SCHKTSQR
173176
* ..
174177
* .. Scalars in Common ..
175178
LOGICAL LERR, OK
@@ -189,7 +192,9 @@ PROGRAM SCHKAA
189192
* ..
190193
* .. Allocate memory dynamically ..
191194
*
192-
ALLOCATE ( A( ( KDMAX+1 )*NMAX, 7 ), STAT = AllocateStatus )
195+
ALLOCATE ( IWORK( 34*NMAX ), STAT = AllocateStatus )
196+
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
197+
ALLOCATE ( A( ( KDMAX+1 )*NMAX, 8 ), STAT = AllocateStatus )
193198
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
194199
ALLOCATE ( B( NMAX*MAXRHS, 4 ), STAT = AllocateStatus )
195200
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
@@ -200,7 +205,7 @@ PROGRAM SCHKAA
200205
ALLOCATE ( S( 2*NMAX ), STAT = AllocateStatus )
201206
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
202207
ALLOCATE ( RWORK( 5*NMAX+2*MAXRHS ), STAT = AllocateStatus )
203-
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
208+
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
204209
* ..
205210
* .. Executable Statements ..
206211
*
@@ -942,6 +947,30 @@ PROGRAM SCHKAA
942947
ELSE
943948
WRITE( NOUT, FMT = 9989 )PATH
944949
END IF
950+
*
951+
ELSE IF( LSAMEN( 2, C2, 'CX' ) ) THEN
952+
*
953+
* CX: CX decomposition
954+
*
955+
NTYPES = 19
956+
CALL ALAREQ( PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT )
957+
*
958+
IF( TSTCHK ) THEN
959+
CALL SCHKCXX( DOTYPE, NM, MVAL, NN, NVAL,
960+
$ NNB, NBVAL, NXVAL, THRESH, TSTERR,
961+
$ A( 1, 1 ), A( 1, 2 ),
962+
$ A( 1, 3 ), A( 1, 4 ),
963+
$ A( 1, 5 ), A( 1, 6 ),
964+
$ A( 1, 7 ), A( 1, 8 ),
965+
$ B( 1, 1 ), B( 1, 2 ),
966+
$ IWORK( 1 ), IWORK( 1+2*NMAX ),
967+
$ IWORK(1+4*NMAX), IWORK(1+6*NMAX),
968+
$ IWORK(1+8*NMAX), IWORK(1+10*NMAX),
969+
$ IWORK(1+12*NMAX), IWORK(1+14*NMAX),
970+
$ WORK, IWORK(1+16*NMAX), NOUT )
971+
ELSE
972+
WRITE( NOUT, FMT = 9989 )PATH
973+
END IF
945974
*
946975
ELSE IF( LSAMEN( 2, C2, 'TZ' ) ) THEN
947976
*

0 commit comments

Comments
 (0)