1 SUBROUTINE SERRQL( PATH, NUNIT )
2 *
3 * -- LAPACK test routine (version 3.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 CHARACTER*3 PATH
9 INTEGER NUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * SERRQL tests the error exits for the REAL routines
16 * that use the QL decomposition of a general matrix.
17 *
18 * Arguments
19 * =========
20 *
21 * PATH (input) CHARACTER*3
22 * The LAPACK path name for the routines to be tested.
23 *
24 * NUNIT (input) INTEGER
25 * The unit number for output.
26 *
27 * =====================================================================
28 *
29 * .. Parameters ..
30 INTEGER NMAX
31 PARAMETER ( NMAX = 2 )
32 * ..
33 * .. Local Scalars ..
34 INTEGER I, INFO, J
35 * ..
36 * .. Local Arrays ..
37 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
38 $ W( NMAX ), X( NMAX )
39 * ..
40 * .. External Subroutines ..
41 EXTERNAL ALAESM, CHKXER, SGEQL2, SGEQLF, SGEQLS, SORG2L,
42 $ SORGQL, SORM2L, SORMQL
43 * ..
44 * .. Scalars in Common ..
45 LOGICAL LERR, OK
46 CHARACTER*32 SRNAMT
47 INTEGER INFOT, NOUT
48 * ..
49 * .. Common blocks ..
50 COMMON / INFOC / INFOT, NOUT, OK, LERR
51 COMMON / SRNAMC / SRNAMT
52 * ..
53 * .. Intrinsic Functions ..
54 INTRINSIC REAL
55 * ..
56 * .. Executable Statements ..
57 *
58 NOUT = NUNIT
59 WRITE( NOUT, FMT = * )
60 *
61 * Set the variables to innocuous values.
62 *
63 DO 20 J = 1, NMAX
64 DO 10 I = 1, NMAX
65 A( I, J ) = 1. / REAL( I+J )
66 AF( I, J ) = 1. / REAL( I+J )
67 10 CONTINUE
68 B( J ) = 0.
69 W( J ) = 0.
70 X( J ) = 0.
71 20 CONTINUE
72 OK = .TRUE.
73 *
74 * Error exits for QL factorization
75 *
76 * SGEQLF
77 *
78 SRNAMT = 'SGEQLF'
79 INFOT = 1
80 CALL SGEQLF( -1, 0, A, 1, B, W, 1, INFO )
81 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
82 INFOT = 2
83 CALL SGEQLF( 0, -1, A, 1, B, W, 1, INFO )
84 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
85 INFOT = 4
86 CALL SGEQLF( 2, 1, A, 1, B, W, 1, INFO )
87 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
88 INFOT = 7
89 CALL SGEQLF( 1, 2, A, 1, B, W, 1, INFO )
90 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
91 *
92 * SGEQL2
93 *
94 SRNAMT = 'SGEQL2'
95 INFOT = 1
96 CALL SGEQL2( -1, 0, A, 1, B, W, INFO )
97 CALL CHKXER( 'SGEQL2', INFOT, NOUT, LERR, OK )
98 INFOT = 2
99 CALL SGEQL2( 0, -1, A, 1, B, W, INFO )
100 CALL CHKXER( 'SGEQL2', INFOT, NOUT, LERR, OK )
101 INFOT = 4
102 CALL SGEQL2( 2, 1, A, 1, B, W, INFO )
103 CALL CHKXER( 'SGEQL2', INFOT, NOUT, LERR, OK )
104 *
105 * SGEQLS
106 *
107 SRNAMT = 'SGEQLS'
108 INFOT = 1
109 CALL SGEQLS( -1, 0, 0, A, 1, X, B, 1, W, 1, INFO )
110 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
111 INFOT = 2
112 CALL SGEQLS( 0, -1, 0, A, 1, X, B, 1, W, 1, INFO )
113 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
114 INFOT = 2
115 CALL SGEQLS( 1, 2, 0, A, 1, X, B, 1, W, 1, INFO )
116 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
117 INFOT = 3
118 CALL SGEQLS( 0, 0, -1, A, 1, X, B, 1, W, 1, INFO )
119 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
120 INFOT = 5
121 CALL SGEQLS( 2, 1, 0, A, 1, X, B, 2, W, 1, INFO )
122 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
123 INFOT = 8
124 CALL SGEQLS( 2, 1, 0, A, 2, X, B, 1, W, 1, INFO )
125 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
126 INFOT = 10
127 CALL SGEQLS( 1, 1, 2, A, 1, X, B, 1, W, 1, INFO )
128 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
129 *
130 * SORGQL
131 *
132 SRNAMT = 'SORGQL'
133 INFOT = 1
134 CALL SORGQL( -1, 0, 0, A, 1, X, W, 1, INFO )
135 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
136 INFOT = 2
137 CALL SORGQL( 0, -1, 0, A, 1, X, W, 1, INFO )
138 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
139 INFOT = 2
140 CALL SORGQL( 1, 2, 0, A, 1, X, W, 2, INFO )
141 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
142 INFOT = 3
143 CALL SORGQL( 0, 0, -1, A, 1, X, W, 1, INFO )
144 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
145 INFOT = 3
146 CALL SORGQL( 1, 1, 2, A, 1, X, W, 1, INFO )
147 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
148 INFOT = 5
149 CALL SORGQL( 2, 1, 0, A, 1, X, W, 1, INFO )
150 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
151 INFOT = 8
152 CALL SORGQL( 2, 2, 0, A, 2, X, W, 1, INFO )
153 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
154 *
155 * SORG2L
156 *
157 SRNAMT = 'SORG2L'
158 INFOT = 1
159 CALL SORG2L( -1, 0, 0, A, 1, X, W, INFO )
160 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
161 INFOT = 2
162 CALL SORG2L( 0, -1, 0, A, 1, X, W, INFO )
163 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
164 INFOT = 2
165 CALL SORG2L( 1, 2, 0, A, 1, X, W, INFO )
166 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
167 INFOT = 3
168 CALL SORG2L( 0, 0, -1, A, 1, X, W, INFO )
169 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
170 INFOT = 3
171 CALL SORG2L( 2, 1, 2, A, 2, X, W, INFO )
172 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
173 INFOT = 5
174 CALL SORG2L( 2, 1, 0, A, 1, X, W, INFO )
175 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
176 *
177 * SORMQL
178 *
179 SRNAMT = 'SORMQL'
180 INFOT = 1
181 CALL SORMQL( '/', 'N', 0, 0, 0, A, 1, X, AF, 1, W, 1, INFO )
182 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
183 INFOT = 2
184 CALL SORMQL( 'L', '/', 0, 0, 0, A, 1, X, AF, 1, W, 1, INFO )
185 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
186 INFOT = 3
187 CALL SORMQL( 'L', 'N', -1, 0, 0, A, 1, X, AF, 1, W, 1, INFO )
188 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
189 INFOT = 4
190 CALL SORMQL( 'L', 'N', 0, -1, 0, A, 1, X, AF, 1, W, 1, INFO )
191 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
192 INFOT = 5
193 CALL SORMQL( 'L', 'N', 0, 0, -1, A, 1, X, AF, 1, W, 1, INFO )
194 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
195 INFOT = 5
196 CALL SORMQL( 'L', 'N', 0, 1, 1, A, 1, X, AF, 1, W, 1, INFO )
197 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
198 INFOT = 5
199 CALL SORMQL( 'R', 'N', 1, 0, 1, A, 1, X, AF, 1, W, 1, INFO )
200 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
201 INFOT = 7
202 CALL SORMQL( 'L', 'N', 2, 1, 0, A, 1, X, AF, 2, W, 1, INFO )
203 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
204 INFOT = 7
205 CALL SORMQL( 'R', 'N', 1, 2, 0, A, 1, X, AF, 1, W, 1, INFO )
206 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
207 INFOT = 10
208 CALL SORMQL( 'L', 'N', 2, 1, 0, A, 2, X, AF, 1, W, 1, INFO )
209 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
210 INFOT = 12
211 CALL SORMQL( 'L', 'N', 1, 2, 0, A, 1, X, AF, 1, W, 1, INFO )
212 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
213 INFOT = 12
214 CALL SORMQL( 'R', 'N', 2, 1, 0, A, 1, X, AF, 2, W, 1, INFO )
215 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
216 *
217 * SORM2L
218 *
219 SRNAMT = 'SORM2L'
220 INFOT = 1
221 CALL SORM2L( '/', 'N', 0, 0, 0, A, 1, X, AF, 1, W, INFO )
222 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
223 INFOT = 2
224 CALL SORM2L( 'L', '/', 0, 0, 0, A, 1, X, AF, 1, W, INFO )
225 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
226 INFOT = 3
227 CALL SORM2L( 'L', 'N', -1, 0, 0, A, 1, X, AF, 1, W, INFO )
228 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
229 INFOT = 4
230 CALL SORM2L( 'L', 'N', 0, -1, 0, A, 1, X, AF, 1, W, INFO )
231 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
232 INFOT = 5
233 CALL SORM2L( 'L', 'N', 0, 0, -1, A, 1, X, AF, 1, W, INFO )
234 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
235 INFOT = 5
236 CALL SORM2L( 'L', 'N', 0, 1, 1, A, 1, X, AF, 1, W, INFO )
237 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
238 INFOT = 5
239 CALL SORM2L( 'R', 'N', 1, 0, 1, A, 1, X, AF, 1, W, INFO )
240 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
241 INFOT = 7
242 CALL SORM2L( 'L', 'N', 2, 1, 0, A, 1, X, AF, 2, W, INFO )
243 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
244 INFOT = 7
245 CALL SORM2L( 'R', 'N', 1, 2, 0, A, 1, X, AF, 1, W, INFO )
246 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
247 INFOT = 10
248 CALL SORM2L( 'L', 'N', 2, 1, 0, A, 2, X, AF, 1, W, INFO )
249 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
250 *
251 * Print a summary line.
252 *
253 CALL ALAESM( PATH, OK, NOUT )
254 *
255 RETURN
256 *
257 * End of SERRQL
258 *
259 END
2 *
3 * -- LAPACK test routine (version 3.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * November 2006
6 *
7 * .. Scalar Arguments ..
8 CHARACTER*3 PATH
9 INTEGER NUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * SERRQL tests the error exits for the REAL routines
16 * that use the QL decomposition of a general matrix.
17 *
18 * Arguments
19 * =========
20 *
21 * PATH (input) CHARACTER*3
22 * The LAPACK path name for the routines to be tested.
23 *
24 * NUNIT (input) INTEGER
25 * The unit number for output.
26 *
27 * =====================================================================
28 *
29 * .. Parameters ..
30 INTEGER NMAX
31 PARAMETER ( NMAX = 2 )
32 * ..
33 * .. Local Scalars ..
34 INTEGER I, INFO, J
35 * ..
36 * .. Local Arrays ..
37 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
38 $ W( NMAX ), X( NMAX )
39 * ..
40 * .. External Subroutines ..
41 EXTERNAL ALAESM, CHKXER, SGEQL2, SGEQLF, SGEQLS, SORG2L,
42 $ SORGQL, SORM2L, SORMQL
43 * ..
44 * .. Scalars in Common ..
45 LOGICAL LERR, OK
46 CHARACTER*32 SRNAMT
47 INTEGER INFOT, NOUT
48 * ..
49 * .. Common blocks ..
50 COMMON / INFOC / INFOT, NOUT, OK, LERR
51 COMMON / SRNAMC / SRNAMT
52 * ..
53 * .. Intrinsic Functions ..
54 INTRINSIC REAL
55 * ..
56 * .. Executable Statements ..
57 *
58 NOUT = NUNIT
59 WRITE( NOUT, FMT = * )
60 *
61 * Set the variables to innocuous values.
62 *
63 DO 20 J = 1, NMAX
64 DO 10 I = 1, NMAX
65 A( I, J ) = 1. / REAL( I+J )
66 AF( I, J ) = 1. / REAL( I+J )
67 10 CONTINUE
68 B( J ) = 0.
69 W( J ) = 0.
70 X( J ) = 0.
71 20 CONTINUE
72 OK = .TRUE.
73 *
74 * Error exits for QL factorization
75 *
76 * SGEQLF
77 *
78 SRNAMT = 'SGEQLF'
79 INFOT = 1
80 CALL SGEQLF( -1, 0, A, 1, B, W, 1, INFO )
81 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
82 INFOT = 2
83 CALL SGEQLF( 0, -1, A, 1, B, W, 1, INFO )
84 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
85 INFOT = 4
86 CALL SGEQLF( 2, 1, A, 1, B, W, 1, INFO )
87 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
88 INFOT = 7
89 CALL SGEQLF( 1, 2, A, 1, B, W, 1, INFO )
90 CALL CHKXER( 'SGEQLF', INFOT, NOUT, LERR, OK )
91 *
92 * SGEQL2
93 *
94 SRNAMT = 'SGEQL2'
95 INFOT = 1
96 CALL SGEQL2( -1, 0, A, 1, B, W, INFO )
97 CALL CHKXER( 'SGEQL2', INFOT, NOUT, LERR, OK )
98 INFOT = 2
99 CALL SGEQL2( 0, -1, A, 1, B, W, INFO )
100 CALL CHKXER( 'SGEQL2', INFOT, NOUT, LERR, OK )
101 INFOT = 4
102 CALL SGEQL2( 2, 1, A, 1, B, W, INFO )
103 CALL CHKXER( 'SGEQL2', INFOT, NOUT, LERR, OK )
104 *
105 * SGEQLS
106 *
107 SRNAMT = 'SGEQLS'
108 INFOT = 1
109 CALL SGEQLS( -1, 0, 0, A, 1, X, B, 1, W, 1, INFO )
110 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
111 INFOT = 2
112 CALL SGEQLS( 0, -1, 0, A, 1, X, B, 1, W, 1, INFO )
113 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
114 INFOT = 2
115 CALL SGEQLS( 1, 2, 0, A, 1, X, B, 1, W, 1, INFO )
116 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
117 INFOT = 3
118 CALL SGEQLS( 0, 0, -1, A, 1, X, B, 1, W, 1, INFO )
119 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
120 INFOT = 5
121 CALL SGEQLS( 2, 1, 0, A, 1, X, B, 2, W, 1, INFO )
122 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
123 INFOT = 8
124 CALL SGEQLS( 2, 1, 0, A, 2, X, B, 1, W, 1, INFO )
125 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
126 INFOT = 10
127 CALL SGEQLS( 1, 1, 2, A, 1, X, B, 1, W, 1, INFO )
128 CALL CHKXER( 'SGEQLS', INFOT, NOUT, LERR, OK )
129 *
130 * SORGQL
131 *
132 SRNAMT = 'SORGQL'
133 INFOT = 1
134 CALL SORGQL( -1, 0, 0, A, 1, X, W, 1, INFO )
135 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
136 INFOT = 2
137 CALL SORGQL( 0, -1, 0, A, 1, X, W, 1, INFO )
138 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
139 INFOT = 2
140 CALL SORGQL( 1, 2, 0, A, 1, X, W, 2, INFO )
141 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
142 INFOT = 3
143 CALL SORGQL( 0, 0, -1, A, 1, X, W, 1, INFO )
144 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
145 INFOT = 3
146 CALL SORGQL( 1, 1, 2, A, 1, X, W, 1, INFO )
147 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
148 INFOT = 5
149 CALL SORGQL( 2, 1, 0, A, 1, X, W, 1, INFO )
150 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
151 INFOT = 8
152 CALL SORGQL( 2, 2, 0, A, 2, X, W, 1, INFO )
153 CALL CHKXER( 'SORGQL', INFOT, NOUT, LERR, OK )
154 *
155 * SORG2L
156 *
157 SRNAMT = 'SORG2L'
158 INFOT = 1
159 CALL SORG2L( -1, 0, 0, A, 1, X, W, INFO )
160 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
161 INFOT = 2
162 CALL SORG2L( 0, -1, 0, A, 1, X, W, INFO )
163 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
164 INFOT = 2
165 CALL SORG2L( 1, 2, 0, A, 1, X, W, INFO )
166 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
167 INFOT = 3
168 CALL SORG2L( 0, 0, -1, A, 1, X, W, INFO )
169 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
170 INFOT = 3
171 CALL SORG2L( 2, 1, 2, A, 2, X, W, INFO )
172 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
173 INFOT = 5
174 CALL SORG2L( 2, 1, 0, A, 1, X, W, INFO )
175 CALL CHKXER( 'SORG2L', INFOT, NOUT, LERR, OK )
176 *
177 * SORMQL
178 *
179 SRNAMT = 'SORMQL'
180 INFOT = 1
181 CALL SORMQL( '/', 'N', 0, 0, 0, A, 1, X, AF, 1, W, 1, INFO )
182 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
183 INFOT = 2
184 CALL SORMQL( 'L', '/', 0, 0, 0, A, 1, X, AF, 1, W, 1, INFO )
185 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
186 INFOT = 3
187 CALL SORMQL( 'L', 'N', -1, 0, 0, A, 1, X, AF, 1, W, 1, INFO )
188 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
189 INFOT = 4
190 CALL SORMQL( 'L', 'N', 0, -1, 0, A, 1, X, AF, 1, W, 1, INFO )
191 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
192 INFOT = 5
193 CALL SORMQL( 'L', 'N', 0, 0, -1, A, 1, X, AF, 1, W, 1, INFO )
194 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
195 INFOT = 5
196 CALL SORMQL( 'L', 'N', 0, 1, 1, A, 1, X, AF, 1, W, 1, INFO )
197 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
198 INFOT = 5
199 CALL SORMQL( 'R', 'N', 1, 0, 1, A, 1, X, AF, 1, W, 1, INFO )
200 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
201 INFOT = 7
202 CALL SORMQL( 'L', 'N', 2, 1, 0, A, 1, X, AF, 2, W, 1, INFO )
203 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
204 INFOT = 7
205 CALL SORMQL( 'R', 'N', 1, 2, 0, A, 1, X, AF, 1, W, 1, INFO )
206 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
207 INFOT = 10
208 CALL SORMQL( 'L', 'N', 2, 1, 0, A, 2, X, AF, 1, W, 1, INFO )
209 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
210 INFOT = 12
211 CALL SORMQL( 'L', 'N', 1, 2, 0, A, 1, X, AF, 1, W, 1, INFO )
212 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
213 INFOT = 12
214 CALL SORMQL( 'R', 'N', 2, 1, 0, A, 1, X, AF, 2, W, 1, INFO )
215 CALL CHKXER( 'SORMQL', INFOT, NOUT, LERR, OK )
216 *
217 * SORM2L
218 *
219 SRNAMT = 'SORM2L'
220 INFOT = 1
221 CALL SORM2L( '/', 'N', 0, 0, 0, A, 1, X, AF, 1, W, INFO )
222 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
223 INFOT = 2
224 CALL SORM2L( 'L', '/', 0, 0, 0, A, 1, X, AF, 1, W, INFO )
225 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
226 INFOT = 3
227 CALL SORM2L( 'L', 'N', -1, 0, 0, A, 1, X, AF, 1, W, INFO )
228 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
229 INFOT = 4
230 CALL SORM2L( 'L', 'N', 0, -1, 0, A, 1, X, AF, 1, W, INFO )
231 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
232 INFOT = 5
233 CALL SORM2L( 'L', 'N', 0, 0, -1, A, 1, X, AF, 1, W, INFO )
234 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
235 INFOT = 5
236 CALL SORM2L( 'L', 'N', 0, 1, 1, A, 1, X, AF, 1, W, INFO )
237 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
238 INFOT = 5
239 CALL SORM2L( 'R', 'N', 1, 0, 1, A, 1, X, AF, 1, W, INFO )
240 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
241 INFOT = 7
242 CALL SORM2L( 'L', 'N', 2, 1, 0, A, 1, X, AF, 2, W, INFO )
243 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
244 INFOT = 7
245 CALL SORM2L( 'R', 'N', 1, 2, 0, A, 1, X, AF, 1, W, INFO )
246 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
247 INFOT = 10
248 CALL SORM2L( 'L', 'N', 2, 1, 0, A, 2, X, AF, 1, W, INFO )
249 CALL CHKXER( 'SORM2L', INFOT, NOUT, LERR, OK )
250 *
251 * Print a summary line.
252 *
253 CALL ALAESM( PATH, OK, NOUT )
254 *
255 RETURN
256 *
257 * End of SERRQL
258 *
259 END