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