1 #include <stdio.h>
2 #include <string.h>
3 #include "common.h"
4 #include "cblas_test.h"
5 
6 int cblas_ok, cblas_lerr, cblas_info;
7 int link_xerbla=TRUE;
8 char *cblas_rout;
9 
10 #ifdef F77_Char
11 void F77_xerbla(F77_Char F77_srname, void *vinfo);
12 #else
13 void F77_xerbla(char *srname, void *vinfo);
14 #endif
15 
chkxer(void)16 void chkxer(void) {
17    extern int cblas_ok, cblas_lerr, cblas_info;
18    extern int link_xerbla;
19    extern char *cblas_rout;
20    if (cblas_lerr == 1 ) {
21       printf("***** ILLEGAL VALUE OF PARAMETER NUMBER %d NOT DETECTED BY %s *****\n", cblas_info, cblas_rout);
22       cblas_ok = 0 ;
23    }
24    cblas_lerr = 1 ;
25 }
26 
F77_s2chke(char * rout)27 void F77_s2chke(char *rout) {
28    char *sf = ( rout ) ;
29    float  A[2] = {0.0,0.0},
30           X[2] = {0.0,0.0},
31           Y[2] = {0.0,0.0},
32           ALPHA=0.0, BETA=0.0;
33    extern int cblas_info, cblas_lerr, cblas_ok;
34    extern int RowMajorStrg;
35    extern char *cblas_rout;
36 
37    if (link_xerbla) /* call these first to link */
38    {
39       cblas_xerbla(cblas_info,cblas_rout,"");
40       F77_xerbla(cblas_rout,&cblas_info);
41    }
42 
43    cblas_ok = TRUE ;
44    cblas_lerr = PASSED ;
45 
46    if (strncmp( sf,"cblas_sgemv",11)==0) {
47       cblas_rout = "cblas_sgemv";
48       cblas_info = 1;
49       cblas_sgemv(INVALID, CblasNoTrans, 0, 0,
50                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
51       chkxer();
52       cblas_info = 2; RowMajorStrg = FALSE;
53       cblas_sgemv(CblasColMajor, INVALID, 0, 0,
54                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
55       chkxer();
56       cblas_info = 3; RowMajorStrg = FALSE;
57       cblas_sgemv(CblasColMajor, CblasNoTrans, INVALID, 0,
58                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
59       chkxer();
60       cblas_info = 4; RowMajorStrg = FALSE;
61       cblas_sgemv(CblasColMajor, CblasNoTrans, 0, INVALID,
62                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
63       chkxer();
64       cblas_info = 7; RowMajorStrg = FALSE;
65       cblas_sgemv(CblasColMajor, CblasNoTrans, 2, 0,
66                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
67       chkxer();
68       cblas_info = 9; RowMajorStrg = FALSE;
69       cblas_sgemv(CblasColMajor, CblasNoTrans, 0, 0,
70                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
71       chkxer();
72       cblas_info = 12; RowMajorStrg = FALSE;
73       cblas_sgemv(CblasColMajor, CblasNoTrans, 0, 0,
74                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
75       chkxer();
76 
77       cblas_info = 2; RowMajorStrg = TRUE; RowMajorStrg = TRUE;
78       cblas_sgemv(CblasRowMajor, INVALID, 0, 0,
79                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
80       chkxer();
81       cblas_info = 3; RowMajorStrg = TRUE;
82       cblas_sgemv(CblasRowMajor, CblasNoTrans, INVALID, 0,
83                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
84       chkxer();
85       cblas_info = 4; RowMajorStrg = TRUE;
86       cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, INVALID,
87                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
88       chkxer();
89       cblas_info = 7; RowMajorStrg = TRUE;
90       cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, 2,
91                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
92       chkxer();
93       cblas_info = 9; RowMajorStrg = TRUE;
94       cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, 0,
95                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
96       chkxer();
97       cblas_info = 12; RowMajorStrg = TRUE;
98       cblas_sgemv(CblasRowMajor, CblasNoTrans, 0, 0,
99                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
100       chkxer();
101    } else if (strncmp( sf,"cblas_sgbmv",11)==0) {
102       cblas_rout = "cblas_sgbmv";
103       cblas_info = 1; RowMajorStrg = FALSE;
104       cblas_sgbmv(INVALID, CblasNoTrans, 0, 0, 0, 0,
105                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
106       chkxer();
107       cblas_info = 2; RowMajorStrg = FALSE;
108       cblas_sgbmv(CblasColMajor, INVALID, 0, 0, 0, 0,
109                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
110       chkxer();
111       cblas_info = 3; RowMajorStrg = FALSE;
112       cblas_sgbmv(CblasColMajor, CblasNoTrans, INVALID, 0, 0, 0,
113                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
114       chkxer();
115       cblas_info = 4; RowMajorStrg = FALSE;
116       cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, INVALID, 0, 0,
117                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
118       chkxer();
119       cblas_info = 5; RowMajorStrg = FALSE;
120       cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, INVALID, 0,
121                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
122       chkxer();
123       cblas_info = 6; RowMajorStrg = FALSE;
124       cblas_sgbmv(CblasColMajor, CblasNoTrans, 2, 0, 0, INVALID,
125                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
126       chkxer();
127       cblas_info = 9; RowMajorStrg = FALSE;
128       cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, 1, 0,
129                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
130       chkxer();
131       cblas_info = 11; RowMajorStrg = FALSE;
132       cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, 0, 0,
133                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
134       chkxer();
135       cblas_info = 14; RowMajorStrg = FALSE;
136       cblas_sgbmv(CblasColMajor, CblasNoTrans, 0, 0, 0, 0,
137                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
138       chkxer();
139       cblas_info = 2; RowMajorStrg = TRUE;
140       cblas_sgbmv(CblasRowMajor, INVALID, 0, 0, 0, 0,
141                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
142       chkxer();
143       cblas_info = 3; RowMajorStrg = TRUE;
144       cblas_sgbmv(CblasRowMajor, CblasNoTrans, INVALID, 0, 0, 0,
145                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
146       chkxer();
147       cblas_info = 4; RowMajorStrg = TRUE;
148       cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, INVALID, 0, 0,
149                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
150       chkxer();
151       cblas_info = 5; RowMajorStrg = TRUE;
152       cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, INVALID, 0,
153                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
154       chkxer();
155       cblas_info = 6; RowMajorStrg = TRUE;
156       cblas_sgbmv(CblasRowMajor, CblasNoTrans, 2, 0, 0, INVALID,
157                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
158       chkxer();
159       cblas_info = 9; RowMajorStrg = TRUE;
160       cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 1, 0,
161                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
162       chkxer();
163       cblas_info = 11; RowMajorStrg = TRUE;
164       cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 0, 0,
165                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
166       chkxer();
167       cblas_info = 14; RowMajorStrg = TRUE;
168       cblas_sgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 0, 0,
169                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
170       chkxer();
171    } else if (strncmp( sf,"cblas_ssymv",11)==0) {
172       cblas_rout = "cblas_ssymv";
173       cblas_info = 1; RowMajorStrg = FALSE;
174       cblas_ssymv(INVALID, CblasUpper, 0,
175                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
176       chkxer();
177       cblas_info = 2; RowMajorStrg = FALSE;
178       cblas_ssymv(CblasColMajor, INVALID, 0,
179                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
180       chkxer();
181       cblas_info = 3; RowMajorStrg = FALSE;
182       cblas_ssymv(CblasColMajor, CblasUpper, INVALID,
183                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
184       chkxer();
185       cblas_info = 6; RowMajorStrg = FALSE;
186       cblas_ssymv(CblasColMajor, CblasUpper, 2,
187                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
188       chkxer();
189       cblas_info = 8; RowMajorStrg = FALSE;
190       cblas_ssymv(CblasColMajor, CblasUpper, 0,
191                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
192       chkxer();
193       cblas_info = 11; RowMajorStrg = FALSE;
194       cblas_ssymv(CblasColMajor, CblasUpper, 0,
195                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
196       chkxer();
197       cblas_info = 2; RowMajorStrg = TRUE;
198       cblas_ssymv(CblasRowMajor, INVALID, 0,
199                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
200       chkxer();
201       cblas_info = 3; RowMajorStrg = TRUE;
202       cblas_ssymv(CblasRowMajor, CblasUpper, INVALID,
203                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
204       chkxer();
205       cblas_info = 6; RowMajorStrg = TRUE;
206       cblas_ssymv(CblasRowMajor, CblasUpper, 2,
207                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
208       chkxer();
209       cblas_info = 8; RowMajorStrg = TRUE;
210       cblas_ssymv(CblasRowMajor, CblasUpper, 0,
211                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
212       chkxer();
213       cblas_info = 11; RowMajorStrg = TRUE;
214       cblas_ssymv(CblasRowMajor, CblasUpper, 0,
215                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
216       chkxer();
217    } else if (strncmp( sf,"cblas_ssbmv",11)==0) {
218       cblas_rout = "cblas_ssbmv";
219       cblas_info = 1; RowMajorStrg = FALSE;
220       cblas_ssbmv(INVALID, CblasUpper, 0, 0,
221                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
222       chkxer();
223       cblas_info = 2; RowMajorStrg = FALSE;
224       cblas_ssbmv(CblasColMajor, INVALID, 0, 0,
225                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
226       chkxer();
227       cblas_info = 3; RowMajorStrg = FALSE;
228       cblas_ssbmv(CblasColMajor, CblasUpper, INVALID, 0,
229                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
230       chkxer();
231       cblas_info = 4; RowMajorStrg = FALSE;
232       cblas_ssbmv(CblasColMajor, CblasUpper, 0, INVALID,
233                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
234       chkxer();
235       cblas_info = 7; RowMajorStrg = FALSE;
236       cblas_ssbmv(CblasColMajor, CblasUpper, 0, 1,
237                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
238       chkxer();
239       cblas_info = 9; RowMajorStrg = FALSE;
240       cblas_ssbmv(CblasColMajor, CblasUpper, 0, 0,
241                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
242       chkxer();
243       cblas_info = 12; RowMajorStrg = FALSE;
244       cblas_ssbmv(CblasColMajor, CblasUpper, 0, 0,
245                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
246       chkxer();
247       cblas_info = 2; RowMajorStrg = TRUE;
248       cblas_ssbmv(CblasRowMajor, INVALID, 0, 0,
249                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
250       chkxer();
251       cblas_info = 3; RowMajorStrg = TRUE;
252       cblas_ssbmv(CblasRowMajor, CblasUpper, INVALID, 0,
253                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
254       chkxer();
255       cblas_info = 4; RowMajorStrg = TRUE;
256       cblas_ssbmv(CblasRowMajor, CblasUpper, 0, INVALID,
257                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
258       chkxer();
259       cblas_info = 7; RowMajorStrg = TRUE;
260       cblas_ssbmv(CblasRowMajor, CblasUpper, 0, 1,
261                   ALPHA, A, 1, X, 1, BETA, Y, 1 );
262       chkxer();
263       cblas_info = 9; RowMajorStrg = TRUE;
264       cblas_ssbmv(CblasRowMajor, CblasUpper, 0, 0,
265                   ALPHA, A, 1, X, 0, BETA, Y, 1 );
266       chkxer();
267       cblas_info = 12; RowMajorStrg = TRUE;
268       cblas_ssbmv(CblasRowMajor, CblasUpper, 0, 0,
269                   ALPHA, A, 1, X, 1, BETA, Y, 0 );
270       chkxer();
271    } else if (strncmp( sf,"cblas_sspmv",11)==0) {
272       cblas_rout = "cblas_sspmv";
273       cblas_info = 1; RowMajorStrg = FALSE;
274       cblas_sspmv(INVALID, CblasUpper, 0,
275                   ALPHA, A, X, 1, BETA, Y, 1 );
276       chkxer();
277       cblas_info = 2; RowMajorStrg = FALSE;
278       cblas_sspmv(CblasColMajor, INVALID, 0,
279                   ALPHA, A, X, 1, BETA, Y, 1 );
280       chkxer();
281       cblas_info = 3; RowMajorStrg = FALSE;
282       cblas_sspmv(CblasColMajor, CblasUpper, INVALID,
283                   ALPHA, A, X, 1, BETA, Y, 1 );
284       chkxer();
285       cblas_info = 7; RowMajorStrg = FALSE;
286       cblas_sspmv(CblasColMajor, CblasUpper, 0,
287                   ALPHA, A, X, 0, BETA, Y, 1 );
288       chkxer();
289       cblas_info = 10; RowMajorStrg = FALSE;
290       cblas_sspmv(CblasColMajor, CblasUpper, 0,
291                   ALPHA, A, X, 1, BETA, Y, 0 );
292       chkxer();
293       cblas_info = 2; RowMajorStrg = TRUE;
294       cblas_sspmv(CblasRowMajor, INVALID, 0,
295                   ALPHA, A, X, 1, BETA, Y, 1 );
296       chkxer();
297       cblas_info = 3; RowMajorStrg = TRUE;
298       cblas_sspmv(CblasRowMajor, CblasUpper, INVALID,
299                   ALPHA, A, X, 1, BETA, Y, 1 );
300       chkxer();
301       cblas_info = 7; RowMajorStrg = TRUE;
302       cblas_sspmv(CblasRowMajor, CblasUpper, 0,
303                   ALPHA, A, X, 0, BETA, Y, 1 );
304       chkxer();
305       cblas_info = 10; RowMajorStrg = TRUE;
306       cblas_sspmv(CblasRowMajor, CblasUpper, 0,
307                   ALPHA, A, X, 1, BETA, Y, 0 );
308       chkxer();
309    } else if (strncmp( sf,"cblas_strmv",11)==0) {
310       cblas_rout = "cblas_strmv";
311       cblas_info = 1; RowMajorStrg = FALSE;
312       cblas_strmv(INVALID, CblasUpper, CblasNoTrans,
313                   CblasNonUnit, 0, A, 1, X, 1 );
314       chkxer();
315       cblas_info = 2; RowMajorStrg = FALSE;
316       cblas_strmv(CblasColMajor, INVALID, CblasNoTrans,
317                   CblasNonUnit, 0, A, 1, X, 1 );
318       chkxer();
319       cblas_info = 3; RowMajorStrg = FALSE;
320       cblas_strmv(CblasColMajor, CblasUpper, INVALID,
321                   CblasNonUnit, 0, A, 1, X, 1 );
322       chkxer();
323       cblas_info = 4; RowMajorStrg = FALSE;
324       cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans,
325                   INVALID, 0, A, 1, X, 1 );
326       chkxer();
327       cblas_info = 5; RowMajorStrg = FALSE;
328       cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans,
329                   CblasNonUnit, INVALID, A, 1, X, 1 );
330       chkxer();
331       cblas_info = 7; RowMajorStrg = FALSE;
332       cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans,
333                   CblasNonUnit, 2, A, 1, X, 1 );
334       chkxer();
335       cblas_info = 9; RowMajorStrg = FALSE;
336       cblas_strmv(CblasColMajor, CblasUpper, CblasNoTrans,
337                   CblasNonUnit, 0, A, 1, X, 0 );
338       chkxer();
339       cblas_info = 2; RowMajorStrg = TRUE;
340       cblas_strmv(CblasRowMajor, INVALID, CblasNoTrans,
341                   CblasNonUnit, 0, A, 1, X, 1 );
342       chkxer();
343       cblas_info = 3; RowMajorStrg = TRUE;
344       cblas_strmv(CblasRowMajor, CblasUpper, INVALID,
345                   CblasNonUnit, 0, A, 1, X, 1 );
346       chkxer();
347       cblas_info = 4; RowMajorStrg = TRUE;
348       cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans,
349                   INVALID, 0, A, 1, X, 1 );
350       chkxer();
351       cblas_info = 5; RowMajorStrg = TRUE;
352       cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans,
353                   CblasNonUnit, INVALID, A, 1, X, 1 );
354       chkxer();
355       cblas_info = 7; RowMajorStrg = TRUE;
356       cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans,
357                   CblasNonUnit, 2, A, 1, X, 1 );
358       chkxer();
359       cblas_info = 9; RowMajorStrg = TRUE;
360       cblas_strmv(CblasRowMajor, CblasUpper, CblasNoTrans,
361                   CblasNonUnit, 0, A, 1, X, 0 );
362       chkxer();
363    } else if (strncmp( sf,"cblas_stbmv",11)==0) {
364       cblas_rout = "cblas_stbmv";
365       cblas_info = 1; RowMajorStrg = FALSE;
366       cblas_stbmv(INVALID, CblasUpper, CblasNoTrans,
367                   CblasNonUnit, 0, 0, A, 1, X, 1 );
368       chkxer();
369       cblas_info = 2; RowMajorStrg = FALSE;
370       cblas_stbmv(CblasColMajor, INVALID, CblasNoTrans,
371                   CblasNonUnit, 0, 0, A, 1, X, 1 );
372       chkxer();
373       cblas_info = 3; RowMajorStrg = FALSE;
374       cblas_stbmv(CblasColMajor, CblasUpper, INVALID,
375                   CblasNonUnit, 0, 0, A, 1, X, 1 );
376       chkxer();
377       cblas_info = 4; RowMajorStrg = FALSE;
378       cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans,
379                   INVALID, 0, 0, A, 1, X, 1 );
380       chkxer();
381       cblas_info = 5; RowMajorStrg = FALSE;
382       cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans,
383                   CblasNonUnit, INVALID, 0, A, 1, X, 1 );
384       chkxer();
385       cblas_info = 6; RowMajorStrg = FALSE;
386       cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans,
387                   CblasNonUnit, 0, INVALID, A, 1, X, 1 );
388       chkxer();
389       cblas_info = 8; RowMajorStrg = FALSE;
390       cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans,
391                   CblasNonUnit, 0, 1, A, 1, X, 1 );
392       chkxer();
393       cblas_info = 10; RowMajorStrg = FALSE;
394       cblas_stbmv(CblasColMajor, CblasUpper, CblasNoTrans,
395                   CblasNonUnit, 0, 0, A, 1, X, 0 );
396       chkxer();
397       cblas_info = 2; RowMajorStrg = TRUE;
398       cblas_stbmv(CblasRowMajor, INVALID, CblasNoTrans,
399                   CblasNonUnit, 0, 0, A, 1, X, 1 );
400       chkxer();
401       cblas_info = 3; RowMajorStrg = TRUE;
402       cblas_stbmv(CblasRowMajor, CblasUpper, INVALID,
403                   CblasNonUnit, 0, 0, A, 1, X, 1 );
404       chkxer();
405       cblas_info = 4; RowMajorStrg = TRUE;
406       cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
407                   INVALID, 0, 0, A, 1, X, 1 );
408       chkxer();
409       cblas_info = 5; RowMajorStrg = TRUE;
410       cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
411                   CblasNonUnit, INVALID, 0, A, 1, X, 1 );
412       chkxer();
413       cblas_info = 6; RowMajorStrg = TRUE;
414       cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
415                   CblasNonUnit, 0, INVALID, A, 1, X, 1 );
416       chkxer();
417       cblas_info = 8; RowMajorStrg = TRUE;
418       cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
419                   CblasNonUnit, 0, 1, A, 1, X, 1 );
420       chkxer();
421       cblas_info = 10; RowMajorStrg = TRUE;
422       cblas_stbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
423                   CblasNonUnit, 0, 0, A, 1, X, 0 );
424       chkxer();
425    } else if (strncmp( sf,"cblas_stpmv",11)==0) {
426       cblas_rout = "cblas_stpmv";
427       cblas_info = 1; RowMajorStrg = FALSE;
428       cblas_stpmv(INVALID, CblasUpper, CblasNoTrans,
429                   CblasNonUnit, 0, A, X, 1 );
430       chkxer();
431       cblas_info = 2; RowMajorStrg = FALSE;
432       cblas_stpmv(CblasColMajor, INVALID, CblasNoTrans,
433                   CblasNonUnit, 0, A, X, 1 );
434       chkxer();
435       cblas_info = 3; RowMajorStrg = FALSE;
436       cblas_stpmv(CblasColMajor, CblasUpper, INVALID,
437                   CblasNonUnit, 0, A, X, 1 );
438       chkxer();
439       cblas_info = 4; RowMajorStrg = FALSE;
440       cblas_stpmv(CblasColMajor, CblasUpper, CblasNoTrans,
441                   INVALID, 0, A, X, 1 );
442       chkxer();
443       cblas_info = 5; RowMajorStrg = FALSE;
444       cblas_stpmv(CblasColMajor, CblasUpper, CblasNoTrans,
445                   CblasNonUnit, INVALID, A, X, 1 );
446       chkxer();
447       cblas_info = 8; RowMajorStrg = FALSE;
448       cblas_stpmv(CblasColMajor, CblasUpper, CblasNoTrans,
449                   CblasNonUnit, 0, A, X, 0 );
450       chkxer();
451       cblas_info = 2; RowMajorStrg = TRUE;
452       cblas_stpmv(CblasRowMajor, INVALID, CblasNoTrans,
453                   CblasNonUnit, 0, A, X, 1 );
454       chkxer();
455       cblas_info = 3; RowMajorStrg = TRUE;
456       cblas_stpmv(CblasRowMajor, CblasUpper, INVALID,
457                   CblasNonUnit, 0, A, X, 1 );
458       chkxer();
459       cblas_info = 4; RowMajorStrg = TRUE;
460       cblas_stpmv(CblasRowMajor, CblasUpper, CblasNoTrans,
461                   INVALID, 0, A, X, 1 );
462       chkxer();
463       cblas_info = 5; RowMajorStrg = TRUE;
464       cblas_stpmv(CblasRowMajor, CblasUpper, CblasNoTrans,
465                   CblasNonUnit, INVALID, A, X, 1 );
466       chkxer();
467       cblas_info = 8; RowMajorStrg = TRUE;
468       cblas_stpmv(CblasRowMajor, CblasUpper, CblasNoTrans,
469                   CblasNonUnit, 0, A, X, 0 );
470       chkxer();
471    } else if (strncmp( sf,"cblas_strsv",11)==0) {
472       cblas_rout = "cblas_strsv";
473       cblas_info = 1; RowMajorStrg = FALSE;
474       cblas_strsv(INVALID, CblasUpper, CblasNoTrans,
475                   CblasNonUnit, 0, A, 1, X, 1 );
476       chkxer();
477       cblas_info = 2; RowMajorStrg = FALSE;
478       cblas_strsv(CblasColMajor, INVALID, CblasNoTrans,
479                   CblasNonUnit, 0, A, 1, X, 1 );
480       chkxer();
481       cblas_info = 3; RowMajorStrg = FALSE;
482       cblas_strsv(CblasColMajor, CblasUpper, INVALID,
483                   CblasNonUnit, 0, A, 1, X, 1 );
484       chkxer();
485       cblas_info = 4; RowMajorStrg = FALSE;
486       cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans,
487                   INVALID, 0, A, 1, X, 1 );
488       chkxer();
489       cblas_info = 5; RowMajorStrg = FALSE;
490       cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans,
491                   CblasNonUnit, INVALID, A, 1, X, 1 );
492       chkxer();
493       cblas_info = 7; RowMajorStrg = FALSE;
494       cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans,
495                   CblasNonUnit, 2, A, 1, X, 1 );
496       chkxer();
497       cblas_info = 9; RowMajorStrg = FALSE;
498       cblas_strsv(CblasColMajor, CblasUpper, CblasNoTrans,
499                   CblasNonUnit, 0, A, 1, X, 0 );
500       chkxer();
501       cblas_info = 2; RowMajorStrg = TRUE;
502       cblas_strsv(CblasRowMajor, INVALID, CblasNoTrans,
503                   CblasNonUnit, 0, A, 1, X, 1 );
504       chkxer();
505       cblas_info = 3; RowMajorStrg = TRUE;
506       cblas_strsv(CblasRowMajor, CblasUpper, INVALID,
507                   CblasNonUnit, 0, A, 1, X, 1 );
508       chkxer();
509       cblas_info = 4; RowMajorStrg = TRUE;
510       cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans,
511                   INVALID, 0, A, 1, X, 1 );
512       chkxer();
513       cblas_info = 5; RowMajorStrg = TRUE;
514       cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans,
515                   CblasNonUnit, INVALID, A, 1, X, 1 );
516       chkxer();
517       cblas_info = 7; RowMajorStrg = TRUE;
518       cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans,
519                   CblasNonUnit, 2, A, 1, X, 1 );
520       chkxer();
521       cblas_info = 9; RowMajorStrg = TRUE;
522       cblas_strsv(CblasRowMajor, CblasUpper, CblasNoTrans,
523                   CblasNonUnit, 0, A, 1, X, 0 );
524       chkxer();
525    } else if (strncmp( sf,"cblas_stbsv",11)==0) {
526       cblas_rout = "cblas_stbsv";
527       cblas_info = 1; RowMajorStrg = FALSE;
528       cblas_stbsv(INVALID, CblasUpper, CblasNoTrans,
529                   CblasNonUnit, 0, 0, A, 1, X, 1 );
530       chkxer();
531       cblas_info = 2; RowMajorStrg = FALSE;
532       cblas_stbsv(CblasColMajor, INVALID, CblasNoTrans,
533                   CblasNonUnit, 0, 0, A, 1, X, 1 );
534       chkxer();
535       cblas_info = 3; RowMajorStrg = FALSE;
536       cblas_stbsv(CblasColMajor, CblasUpper, INVALID,
537                   CblasNonUnit, 0, 0, A, 1, X, 1 );
538       chkxer();
539       cblas_info = 4; RowMajorStrg = FALSE;
540       cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans,
541                   INVALID, 0, 0, A, 1, X, 1 );
542       chkxer();
543       cblas_info = 5; RowMajorStrg = FALSE;
544       cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans,
545                   CblasNonUnit, INVALID, 0, A, 1, X, 1 );
546       chkxer();
547       cblas_info = 6; RowMajorStrg = FALSE;
548       cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans,
549                   CblasNonUnit, 0, INVALID, A, 1, X, 1 );
550       chkxer();
551       cblas_info = 8; RowMajorStrg = FALSE;
552       cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans,
553                   CblasNonUnit, 0, 1, A, 1, X, 1 );
554       chkxer();
555       cblas_info = 10; RowMajorStrg = FALSE;
556       cblas_stbsv(CblasColMajor, CblasUpper, CblasNoTrans,
557                   CblasNonUnit, 0, 0, A, 1, X, 0 );
558       chkxer();
559       cblas_info = 2; RowMajorStrg = TRUE;
560       cblas_stbsv(CblasRowMajor, INVALID, CblasNoTrans,
561                   CblasNonUnit, 0, 0, A, 1, X, 1 );
562       chkxer();
563       cblas_info = 3; RowMajorStrg = TRUE;
564       cblas_stbsv(CblasRowMajor, CblasUpper, INVALID,
565                   CblasNonUnit, 0, 0, A, 1, X, 1 );
566       chkxer();
567       cblas_info = 4; RowMajorStrg = TRUE;
568       cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
569                   INVALID, 0, 0, A, 1, X, 1 );
570       chkxer();
571       cblas_info = 5; RowMajorStrg = TRUE;
572       cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
573                   CblasNonUnit, INVALID, 0, A, 1, X, 1 );
574       chkxer();
575       cblas_info = 6; RowMajorStrg = TRUE;
576       cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
577                   CblasNonUnit, 0, INVALID, A, 1, X, 1 );
578       chkxer();
579       cblas_info = 8; RowMajorStrg = TRUE;
580       cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
581                   CblasNonUnit, 0, 1, A, 1, X, 1 );
582       chkxer();
583       cblas_info = 10; RowMajorStrg = TRUE;
584       cblas_stbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
585                   CblasNonUnit, 0, 0, A, 1, X, 0 );
586       chkxer();
587    } else if (strncmp( sf,"cblas_stpsv",11)==0) {
588       cblas_rout = "cblas_stpsv";
589       cblas_info = 1; RowMajorStrg = FALSE;
590       cblas_stpsv(INVALID, CblasUpper, CblasNoTrans,
591                   CblasNonUnit, 0, A, X, 1 );
592       chkxer();
593       cblas_info = 2; RowMajorStrg = FALSE;
594       cblas_stpsv(CblasColMajor, INVALID, CblasNoTrans,
595                   CblasNonUnit, 0, A, X, 1 );
596       chkxer();
597       cblas_info = 3; RowMajorStrg = FALSE;
598       cblas_stpsv(CblasColMajor, CblasUpper, INVALID,
599                   CblasNonUnit, 0, A, X, 1 );
600       chkxer();
601       cblas_info = 4; RowMajorStrg = FALSE;
602       cblas_stpsv(CblasColMajor, CblasUpper, CblasNoTrans,
603                   INVALID, 0, A, X, 1 );
604       chkxer();
605       cblas_info = 5; RowMajorStrg = FALSE;
606       cblas_stpsv(CblasColMajor, CblasUpper, CblasNoTrans,
607                   CblasNonUnit, INVALID, A, X, 1 );
608       chkxer();
609       cblas_info = 8; RowMajorStrg = FALSE;
610       cblas_stpsv(CblasColMajor, CblasUpper, CblasNoTrans,
611                   CblasNonUnit, 0, A, X, 0 );
612       chkxer();
613       cblas_info = 2; RowMajorStrg = TRUE;
614       cblas_stpsv(CblasRowMajor, INVALID, CblasNoTrans,
615                   CblasNonUnit, 0, A, X, 1 );
616       chkxer();
617       cblas_info = 3; RowMajorStrg = TRUE;
618       cblas_stpsv(CblasRowMajor, CblasUpper, INVALID,
619                   CblasNonUnit, 0, A, X, 1 );
620       chkxer();
621       cblas_info = 4; RowMajorStrg = TRUE;
622       cblas_stpsv(CblasRowMajor, CblasUpper, CblasNoTrans,
623                   INVALID, 0, A, X, 1 );
624       chkxer();
625       cblas_info = 5; RowMajorStrg = TRUE;
626       cblas_stpsv(CblasRowMajor, CblasUpper, CblasNoTrans,
627                   CblasNonUnit, INVALID, A, X, 1 );
628       chkxer();
629       cblas_info = 8; RowMajorStrg = TRUE;
630       cblas_stpsv(CblasRowMajor, CblasUpper, CblasNoTrans,
631                   CblasNonUnit, 0, A, X, 0 );
632       chkxer();
633    } else if (strncmp( sf,"cblas_sger",10)==0) {
634       cblas_rout = "cblas_sger";
635       cblas_info = 1; RowMajorStrg = FALSE;
636       cblas_sger(INVALID, 0, 0, ALPHA, X, 1, Y, 1, A, 1 );
637       chkxer();
638       cblas_info = 2; RowMajorStrg = FALSE;
639       cblas_sger(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
640       chkxer();
641       cblas_info = 3; RowMajorStrg = FALSE;
642       cblas_sger(CblasColMajor, 0, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
643       chkxer();
644       cblas_info = 6; RowMajorStrg = FALSE;
645       cblas_sger(CblasColMajor, 0, 0, ALPHA, X, 0, Y, 1, A, 1 );
646       chkxer();
647       cblas_info = 8; RowMajorStrg = FALSE;
648       cblas_sger(CblasColMajor, 0, 0, ALPHA, X, 1, Y, 0, A, 1 );
649       chkxer();
650       cblas_info = 10; RowMajorStrg = FALSE;
651       cblas_sger(CblasColMajor, 2, 0, ALPHA, X, 1, Y, 1, A, 1 );
652       chkxer();
653       cblas_info = 2; RowMajorStrg = TRUE;
654       cblas_sger(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
655       chkxer();
656       cblas_info = 3; RowMajorStrg = TRUE;
657       cblas_sger(CblasRowMajor, 0, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
658       chkxer();
659       cblas_info = 6; RowMajorStrg = TRUE;
660       cblas_sger(CblasRowMajor, 0, 0, ALPHA, X, 0, Y, 1, A, 1 );
661       chkxer();
662       cblas_info = 8; RowMajorStrg = TRUE;
663       cblas_sger(CblasRowMajor, 0, 0, ALPHA, X, 1, Y, 0, A, 1 );
664       chkxer();
665       cblas_info = 10; RowMajorStrg = TRUE;
666       cblas_sger(CblasRowMajor, 0, 2, ALPHA, X, 1, Y, 1, A, 1 );
667       chkxer();
668    } else if (strncmp( sf,"cblas_ssyr2",11)==0) {
669       cblas_rout = "cblas_ssyr2";
670       cblas_info = 1; RowMajorStrg = FALSE;
671       cblas_ssyr2(INVALID, CblasUpper, 0, ALPHA, X, 1, Y, 1, A, 1 );
672       chkxer();
673       cblas_info = 2; RowMajorStrg = FALSE;
674       cblas_ssyr2(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
675       chkxer();
676       cblas_info = 3; RowMajorStrg = FALSE;
677       cblas_ssyr2(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
678       chkxer();
679       cblas_info = 6; RowMajorStrg = FALSE;
680       cblas_ssyr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A, 1 );
681       chkxer();
682       cblas_info = 8; RowMajorStrg = FALSE;
683       cblas_ssyr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A, 1 );
684       chkxer();
685       cblas_info = 10; RowMajorStrg = FALSE;
686       cblas_ssyr2(CblasColMajor, CblasUpper, 2, ALPHA, X, 1, Y, 1, A, 1 );
687       chkxer();
688       cblas_info = 2; RowMajorStrg = TRUE;
689       cblas_ssyr2(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
690       chkxer();
691       cblas_info = 3; RowMajorStrg = TRUE;
692       cblas_ssyr2(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
693       chkxer();
694       cblas_info = 6; RowMajorStrg = TRUE;
695       cblas_ssyr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A, 1 );
696       chkxer();
697       cblas_info = 8; RowMajorStrg = TRUE;
698       cblas_ssyr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A, 1 );
699       chkxer();
700       cblas_info = 10; RowMajorStrg = TRUE;
701       cblas_ssyr2(CblasRowMajor, CblasUpper, 2, ALPHA, X, 1, Y, 1, A, 1 );
702       chkxer();
703    } else if (strncmp( sf,"cblas_sspr2",11)==0) {
704       cblas_rout = "cblas_sspr2";
705       cblas_info = 1; RowMajorStrg = FALSE;
706       cblas_sspr2(INVALID, CblasUpper, 0, ALPHA, X, 1, Y, 1, A );
707       chkxer();
708       cblas_info = 2; RowMajorStrg = FALSE;
709       cblas_sspr2(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A );
710       chkxer();
711       cblas_info = 3; RowMajorStrg = FALSE;
712       cblas_sspr2(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A );
713       chkxer();
714       cblas_info = 6; RowMajorStrg = FALSE;
715       cblas_sspr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A );
716       chkxer();
717       cblas_info = 8; RowMajorStrg = FALSE;
718       cblas_sspr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A );
719       chkxer();
720       cblas_info = 2; RowMajorStrg = TRUE;
721       cblas_sspr2(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A );
722       chkxer();
723       cblas_info = 3; RowMajorStrg = TRUE;
724       cblas_sspr2(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A );
725       chkxer();
726       cblas_info = 6; RowMajorStrg = TRUE;
727       cblas_sspr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A );
728       chkxer();
729       cblas_info = 8; RowMajorStrg = TRUE;
730       cblas_sspr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A );
731       chkxer();
732    } else if (strncmp( sf,"cblas_ssyr",10)==0) {
733       cblas_rout = "cblas_ssyr";
734       cblas_info = 1; RowMajorStrg = FALSE;
735       cblas_ssyr(INVALID, CblasUpper, 0, ALPHA, X, 1, A, 1 );
736       chkxer();
737       cblas_info = 2; RowMajorStrg = FALSE;
738       cblas_ssyr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A, 1 );
739       chkxer();
740       cblas_info = 3; RowMajorStrg = FALSE;
741       cblas_ssyr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A, 1 );
742       chkxer();
743       cblas_info = 6; RowMajorStrg = FALSE;
744       cblas_ssyr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A, 1 );
745       chkxer();
746       cblas_info = 8; RowMajorStrg = FALSE;
747       cblas_ssyr(CblasColMajor, CblasUpper, 2, ALPHA, X, 1, A, 1 );
748       chkxer();
749       cblas_info = 2; RowMajorStrg = TRUE;
750       cblas_ssyr(CblasRowMajor, INVALID, 0, ALPHA, X, 1, A, 1 );
751       chkxer();
752       cblas_info = 3; RowMajorStrg = TRUE;
753       cblas_ssyr(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, A, 1 );
754       chkxer();
755       cblas_info = 6; RowMajorStrg = TRUE;
756       cblas_ssyr(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, A, 1 );
757       chkxer();
758       cblas_info = 8; RowMajorStrg = TRUE;
759       cblas_ssyr(CblasRowMajor, CblasUpper, 2, ALPHA, X, 1, A, 1 );
760       chkxer();
761    } else if (strncmp( sf,"cblas_sspr",10)==0) {
762       cblas_rout = "cblas_sspr";
763       cblas_info = 1; RowMajorStrg = FALSE;
764       cblas_sspr(INVALID, CblasUpper, 0, ALPHA, X, 1, A );
765       chkxer();
766       cblas_info = 2; RowMajorStrg = FALSE;
767       cblas_sspr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A );
768       chkxer();
769       cblas_info = 3; RowMajorStrg = FALSE;
770       cblas_sspr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A );
771       chkxer();
772       cblas_info = 6; RowMajorStrg = FALSE;
773       cblas_sspr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A );
774       chkxer();
775       cblas_info = 2; RowMajorStrg = FALSE;
776       cblas_sspr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A );
777       chkxer();
778       cblas_info = 3; RowMajorStrg = FALSE;
779       cblas_sspr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A );
780       chkxer();
781       cblas_info = 6; RowMajorStrg = FALSE;
782       cblas_sspr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A );
783       chkxer();
784    }
785    if (cblas_ok == TRUE)
786        printf(" %-12s PASSED THE TESTS OF ERROR-EXITS\n", cblas_rout);
787    else
788        printf("******* %s FAILED THE TESTS OF ERROR-EXITS *******\n",cblas_rout);
789 }
790