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_d2chke(char *rout) {
28   char *sf = ( rout ) ;
29   double 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_dgemv",11)==0) {
47      cblas_rout = "cblas_dgemv";
48      cblas_info = 1;
49      cblas_dgemv(INVALID, CblasNoTrans, 0, 0,
50                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
51      chkxer();
52      cblas_info = 2; RowMajorStrg = FALSE;
53      cblas_dgemv(CblasColMajor, INVALID, 0, 0,
54                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
55      chkxer();
56      cblas_info = 3; RowMajorStrg = FALSE;
57      cblas_dgemv(CblasColMajor, CblasNoTrans, INVALID, 0,
58                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
59      chkxer();
60      cblas_info = 4; RowMajorStrg = FALSE;
61      cblas_dgemv(CblasColMajor, CblasNoTrans, 0, INVALID,
62                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
63      chkxer();
64      cblas_info = 7; RowMajorStrg = FALSE;
65      cblas_dgemv(CblasColMajor, CblasNoTrans, 2, 0,
66                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
67      chkxer();
68      cblas_info = 9; RowMajorStrg = FALSE;
69      cblas_dgemv(CblasColMajor, CblasNoTrans, 0, 0,
70                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
71      chkxer();
72      cblas_info = 12; RowMajorStrg = FALSE;
73      cblas_dgemv(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_dgemv(CblasRowMajor, INVALID, 0, 0,
79                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
80      chkxer();
81      cblas_info = 3; RowMajorStrg = TRUE;
82      cblas_dgemv(CblasRowMajor, CblasNoTrans, INVALID, 0,
83                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
84      chkxer();
85      cblas_info = 4; RowMajorStrg = TRUE;
86      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, INVALID,
87                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
88      chkxer();
89      cblas_info = 7; RowMajorStrg = TRUE;
90      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, 2,
91                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
92      chkxer();
93      cblas_info = 9; RowMajorStrg = TRUE;
94      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, 0,
95                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
96      chkxer();
97      cblas_info = 12; RowMajorStrg = TRUE;
98      cblas_dgemv(CblasRowMajor, CblasNoTrans, 0, 0,
99                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
100      chkxer();
101   } else if (strncmp( sf,"cblas_dgbmv",11)==0) {
102      cblas_rout = "cblas_dgbmv";
103      cblas_info = 1; RowMajorStrg = FALSE;
104      cblas_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(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_dgbmv(CblasRowMajor, CblasNoTrans, 0, 0, 0, 0,
169                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
170      chkxer();
171   } else if (strncmp( sf,"cblas_dsymv",11)==0) {
172      cblas_rout = "cblas_dsymv";
173      cblas_info = 1; RowMajorStrg = FALSE;
174      cblas_dsymv(INVALID, CblasUpper, 0,
175                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
176      chkxer();
177      cblas_info = 2; RowMajorStrg = FALSE;
178      cblas_dsymv(CblasColMajor, INVALID, 0,
179                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
180      chkxer();
181      cblas_info = 3; RowMajorStrg = FALSE;
182      cblas_dsymv(CblasColMajor, CblasUpper, INVALID,
183                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
184      chkxer();
185      cblas_info = 6; RowMajorStrg = FALSE;
186      cblas_dsymv(CblasColMajor, CblasUpper, 2,
187                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
188      chkxer();
189      cblas_info = 8; RowMajorStrg = FALSE;
190      cblas_dsymv(CblasColMajor, CblasUpper, 0,
191                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
192      chkxer();
193      cblas_info = 11; RowMajorStrg = FALSE;
194      cblas_dsymv(CblasColMajor, CblasUpper, 0,
195                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
196      chkxer();
197      cblas_info = 2; RowMajorStrg = TRUE;
198      cblas_dsymv(CblasRowMajor, INVALID, 0,
199                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
200      chkxer();
201      cblas_info = 3; RowMajorStrg = TRUE;
202      cblas_dsymv(CblasRowMajor, CblasUpper, INVALID,
203                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
204      chkxer();
205      cblas_info = 6; RowMajorStrg = TRUE;
206      cblas_dsymv(CblasRowMajor, CblasUpper, 2,
207                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
208      chkxer();
209      cblas_info = 8; RowMajorStrg = TRUE;
210      cblas_dsymv(CblasRowMajor, CblasUpper, 0,
211                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
212      chkxer();
213      cblas_info = 11; RowMajorStrg = TRUE;
214      cblas_dsymv(CblasRowMajor, CblasUpper, 0,
215                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
216      chkxer();
217   } else if (strncmp( sf,"cblas_dsbmv",11)==0) {
218      cblas_rout = "cblas_dsbmv";
219      cblas_info = 1; RowMajorStrg = FALSE;
220      cblas_dsbmv(INVALID, CblasUpper, 0, 0,
221                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
222      chkxer();
223      cblas_info = 2; RowMajorStrg = FALSE;
224      cblas_dsbmv(CblasColMajor, INVALID, 0, 0,
225                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
226      chkxer();
227      cblas_info = 3; RowMajorStrg = FALSE;
228      cblas_dsbmv(CblasColMajor, CblasUpper, INVALID, 0,
229                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
230      chkxer();
231      cblas_info = 4; RowMajorStrg = FALSE;
232      cblas_dsbmv(CblasColMajor, CblasUpper, 0, INVALID,
233                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
234      chkxer();
235      cblas_info = 7; RowMajorStrg = FALSE;
236      cblas_dsbmv(CblasColMajor, CblasUpper, 0, 1,
237                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
238      chkxer();
239      cblas_info = 9; RowMajorStrg = FALSE;
240      cblas_dsbmv(CblasColMajor, CblasUpper, 0, 0,
241                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
242      chkxer();
243      cblas_info = 12; RowMajorStrg = FALSE;
244      cblas_dsbmv(CblasColMajor, CblasUpper, 0, 0,
245                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
246      chkxer();
247      cblas_info = 2; RowMajorStrg = TRUE;
248      cblas_dsbmv(CblasRowMajor, INVALID, 0, 0,
249                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
250      chkxer();
251      cblas_info = 3; RowMajorStrg = TRUE;
252      cblas_dsbmv(CblasRowMajor, CblasUpper, INVALID, 0,
253                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
254      chkxer();
255      cblas_info = 4; RowMajorStrg = TRUE;
256      cblas_dsbmv(CblasRowMajor, CblasUpper, 0, INVALID,
257                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
258      chkxer();
259      cblas_info = 7; RowMajorStrg = TRUE;
260      cblas_dsbmv(CblasRowMajor, CblasUpper, 0, 1,
261                  ALPHA, A, 1, X, 1, BETA, Y, 1 );
262      chkxer();
263      cblas_info = 9; RowMajorStrg = TRUE;
264      cblas_dsbmv(CblasRowMajor, CblasUpper, 0, 0,
265                  ALPHA, A, 1, X, 0, BETA, Y, 1 );
266      chkxer();
267      cblas_info = 12; RowMajorStrg = TRUE;
268      cblas_dsbmv(CblasRowMajor, CblasUpper, 0, 0,
269                  ALPHA, A, 1, X, 1, BETA, Y, 0 );
270      chkxer();
271   } else if (strncmp( sf,"cblas_dspmv",11)==0) {
272      cblas_rout = "cblas_dspmv";
273      cblas_info = 1; RowMajorStrg = FALSE;
274      cblas_dspmv(INVALID, CblasUpper, 0,
275                  ALPHA, A, X, 1, BETA, Y, 1 );
276      chkxer();
277      cblas_info = 2; RowMajorStrg = FALSE;
278      cblas_dspmv(CblasColMajor, INVALID, 0,
279                  ALPHA, A, X, 1, BETA, Y, 1 );
280      chkxer();
281      cblas_info = 3; RowMajorStrg = FALSE;
282      cblas_dspmv(CblasColMajor, CblasUpper, INVALID,
283                  ALPHA, A, X, 1, BETA, Y, 1 );
284      chkxer();
285      cblas_info = 7; RowMajorStrg = FALSE;
286      cblas_dspmv(CblasColMajor, CblasUpper, 0,
287                  ALPHA, A, X, 0, BETA, Y, 1 );
288      chkxer();
289      cblas_info = 10; RowMajorStrg = FALSE;
290      cblas_dspmv(CblasColMajor, CblasUpper, 0,
291                  ALPHA, A, X, 1, BETA, Y, 0 );
292      chkxer();
293      cblas_info = 2; RowMajorStrg = TRUE;
294      cblas_dspmv(CblasRowMajor, INVALID, 0,
295                  ALPHA, A, X, 1, BETA, Y, 1 );
296      chkxer();
297      cblas_info = 3; RowMajorStrg = TRUE;
298      cblas_dspmv(CblasRowMajor, CblasUpper, INVALID,
299                  ALPHA, A, X, 1, BETA, Y, 1 );
300      chkxer();
301      cblas_info = 7; RowMajorStrg = TRUE;
302      cblas_dspmv(CblasRowMajor, CblasUpper, 0,
303                  ALPHA, A, X, 0, BETA, Y, 1 );
304      chkxer();
305      cblas_info = 10; RowMajorStrg = TRUE;
306      cblas_dspmv(CblasRowMajor, CblasUpper, 0,
307                  ALPHA, A, X, 1, BETA, Y, 0 );
308      chkxer();
309   } else if (strncmp( sf,"cblas_dtrmv",11)==0) {
310      cblas_rout = "cblas_dtrmv";
311      cblas_info = 1; RowMajorStrg = FALSE;
312      cblas_dtrmv(INVALID, CblasUpper, CblasNoTrans,
313                  CblasNonUnit, 0, A, 1, X, 1 );
314      chkxer();
315      cblas_info = 2; RowMajorStrg = FALSE;
316      cblas_dtrmv(CblasColMajor, INVALID, CblasNoTrans,
317                  CblasNonUnit, 0, A, 1, X, 1 );
318      chkxer();
319      cblas_info = 3; RowMajorStrg = FALSE;
320      cblas_dtrmv(CblasColMajor, CblasUpper, INVALID,
321                  CblasNonUnit, 0, A, 1, X, 1 );
322      chkxer();
323      cblas_info = 4; RowMajorStrg = FALSE;
324      cblas_dtrmv(CblasColMajor, CblasUpper, CblasNoTrans,
325                  INVALID, 0, A, 1, X, 1 );
326      chkxer();
327      cblas_info = 5; RowMajorStrg = FALSE;
328      cblas_dtrmv(CblasColMajor, CblasUpper, CblasNoTrans,
329                  CblasNonUnit, INVALID, A, 1, X, 1 );
330      chkxer();
331      cblas_info = 7; RowMajorStrg = FALSE;
332      cblas_dtrmv(CblasColMajor, CblasUpper, CblasNoTrans,
333                  CblasNonUnit, 2, A, 1, X, 1 );
334      chkxer();
335      cblas_info = 9; RowMajorStrg = FALSE;
336      cblas_dtrmv(CblasColMajor, CblasUpper, CblasNoTrans,
337                  CblasNonUnit, 0, A, 1, X, 0 );
338      chkxer();
339      cblas_info = 2; RowMajorStrg = TRUE;
340      cblas_dtrmv(CblasRowMajor, INVALID, CblasNoTrans,
341                  CblasNonUnit, 0, A, 1, X, 1 );
342      chkxer();
343      cblas_info = 3; RowMajorStrg = TRUE;
344      cblas_dtrmv(CblasRowMajor, CblasUpper, INVALID,
345                  CblasNonUnit, 0, A, 1, X, 1 );
346      chkxer();
347      cblas_info = 4; RowMajorStrg = TRUE;
348      cblas_dtrmv(CblasRowMajor, CblasUpper, CblasNoTrans,
349                  INVALID, 0, A, 1, X, 1 );
350      chkxer();
351      cblas_info = 5; RowMajorStrg = TRUE;
352      cblas_dtrmv(CblasRowMajor, CblasUpper, CblasNoTrans,
353                  CblasNonUnit, INVALID, A, 1, X, 1 );
354      chkxer();
355      cblas_info = 7; RowMajorStrg = TRUE;
356      cblas_dtrmv(CblasRowMajor, CblasUpper, CblasNoTrans,
357                  CblasNonUnit, 2, A, 1, X, 1 );
358      chkxer();
359      cblas_info = 9; RowMajorStrg = TRUE;
360      cblas_dtrmv(CblasRowMajor, CblasUpper, CblasNoTrans,
361                  CblasNonUnit, 0, A, 1, X, 0 );
362      chkxer();
363   } else if (strncmp( sf,"cblas_dtbmv",11)==0) {
364      cblas_rout = "cblas_dtbmv";
365      cblas_info = 1; RowMajorStrg = FALSE;
366      cblas_dtbmv(INVALID, CblasUpper, CblasNoTrans,
367                  CblasNonUnit, 0, 0, A, 1, X, 1 );
368      chkxer();
369      cblas_info = 2; RowMajorStrg = FALSE;
370      cblas_dtbmv(CblasColMajor, INVALID, CblasNoTrans,
371                  CblasNonUnit, 0, 0, A, 1, X, 1 );
372      chkxer();
373      cblas_info = 3; RowMajorStrg = FALSE;
374      cblas_dtbmv(CblasColMajor, CblasUpper, INVALID,
375                  CblasNonUnit, 0, 0, A, 1, X, 1 );
376      chkxer();
377      cblas_info = 4; RowMajorStrg = FALSE;
378      cblas_dtbmv(CblasColMajor, CblasUpper, CblasNoTrans,
379                  INVALID, 0, 0, A, 1, X, 1 );
380      chkxer();
381      cblas_info = 5; RowMajorStrg = FALSE;
382      cblas_dtbmv(CblasColMajor, CblasUpper, CblasNoTrans,
383                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
384      chkxer();
385      cblas_info = 6; RowMajorStrg = FALSE;
386      cblas_dtbmv(CblasColMajor, CblasUpper, CblasNoTrans,
387                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
388      chkxer();
389      cblas_info = 8; RowMajorStrg = FALSE;
390      cblas_dtbmv(CblasColMajor, CblasUpper, CblasNoTrans,
391                  CblasNonUnit, 0, 1, A, 1, X, 1 );
392      chkxer();
393      cblas_info = 10; RowMajorStrg = FALSE;
394      cblas_dtbmv(CblasColMajor, CblasUpper, CblasNoTrans,
395                  CblasNonUnit, 0, 0, A, 1, X, 0 );
396      chkxer();
397      cblas_info = 2; RowMajorStrg = TRUE;
398      cblas_dtbmv(CblasRowMajor, INVALID, CblasNoTrans,
399                  CblasNonUnit, 0, 0, A, 1, X, 1 );
400      chkxer();
401      cblas_info = 3; RowMajorStrg = TRUE;
402      cblas_dtbmv(CblasRowMajor, CblasUpper, INVALID,
403                  CblasNonUnit, 0, 0, A, 1, X, 1 );
404      chkxer();
405      cblas_info = 4; RowMajorStrg = TRUE;
406      cblas_dtbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
407                  INVALID, 0, 0, A, 1, X, 1 );
408      chkxer();
409      cblas_info = 5; RowMajorStrg = TRUE;
410      cblas_dtbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
411                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
412      chkxer();
413      cblas_info = 6; RowMajorStrg = TRUE;
414      cblas_dtbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
415                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
416      chkxer();
417      cblas_info = 8; RowMajorStrg = TRUE;
418      cblas_dtbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
419                  CblasNonUnit, 0, 1, A, 1, X, 1 );
420      chkxer();
421      cblas_info = 10; RowMajorStrg = TRUE;
422      cblas_dtbmv(CblasRowMajor, CblasUpper, CblasNoTrans,
423                  CblasNonUnit, 0, 0, A, 1, X, 0 );
424      chkxer();
425   } else if (strncmp( sf,"cblas_dtpmv",11)==0) {
426      cblas_rout = "cblas_dtpmv";
427      cblas_info = 1; RowMajorStrg = FALSE;
428      cblas_dtpmv(INVALID, CblasUpper, CblasNoTrans,
429                  CblasNonUnit, 0, A, X, 1 );
430      chkxer();
431      cblas_info = 2; RowMajorStrg = FALSE;
432      cblas_dtpmv(CblasColMajor, INVALID, CblasNoTrans,
433                  CblasNonUnit, 0, A, X, 1 );
434      chkxer();
435      cblas_info = 3; RowMajorStrg = FALSE;
436      cblas_dtpmv(CblasColMajor, CblasUpper, INVALID,
437                  CblasNonUnit, 0, A, X, 1 );
438      chkxer();
439      cblas_info = 4; RowMajorStrg = FALSE;
440      cblas_dtpmv(CblasColMajor, CblasUpper, CblasNoTrans,
441                  INVALID, 0, A, X, 1 );
442      chkxer();
443      cblas_info = 5; RowMajorStrg = FALSE;
444      cblas_dtpmv(CblasColMajor, CblasUpper, CblasNoTrans,
445                  CblasNonUnit, INVALID, A, X, 1 );
446      chkxer();
447      cblas_info = 8; RowMajorStrg = FALSE;
448      cblas_dtpmv(CblasColMajor, CblasUpper, CblasNoTrans,
449                  CblasNonUnit, 0, A, X, 0 );
450      chkxer();
451      cblas_info = 2; RowMajorStrg = TRUE;
452      cblas_dtpmv(CblasRowMajor, INVALID, CblasNoTrans,
453                  CblasNonUnit, 0, A, X, 1 );
454      chkxer();
455      cblas_info = 3; RowMajorStrg = TRUE;
456      cblas_dtpmv(CblasRowMajor, CblasUpper, INVALID,
457                  CblasNonUnit, 0, A, X, 1 );
458      chkxer();
459      cblas_info = 4; RowMajorStrg = TRUE;
460      cblas_dtpmv(CblasRowMajor, CblasUpper, CblasNoTrans,
461                  INVALID, 0, A, X, 1 );
462      chkxer();
463      cblas_info = 5; RowMajorStrg = TRUE;
464      cblas_dtpmv(CblasRowMajor, CblasUpper, CblasNoTrans,
465                  CblasNonUnit, INVALID, A, X, 1 );
466      chkxer();
467      cblas_info = 8; RowMajorStrg = TRUE;
468      cblas_dtpmv(CblasRowMajor, CblasUpper, CblasNoTrans,
469                  CblasNonUnit, 0, A, X, 0 );
470      chkxer();
471   } else if (strncmp( sf,"cblas_dtrsv",11)==0) {
472      cblas_rout = "cblas_dtrsv";
473      cblas_info = 1; RowMajorStrg = FALSE;
474      cblas_dtrsv(INVALID, CblasUpper, CblasNoTrans,
475                  CblasNonUnit, 0, A, 1, X, 1 );
476      chkxer();
477      cblas_info = 2; RowMajorStrg = FALSE;
478      cblas_dtrsv(CblasColMajor, INVALID, CblasNoTrans,
479                  CblasNonUnit, 0, A, 1, X, 1 );
480      chkxer();
481      cblas_info = 3; RowMajorStrg = FALSE;
482      cblas_dtrsv(CblasColMajor, CblasUpper, INVALID,
483                  CblasNonUnit, 0, A, 1, X, 1 );
484      chkxer();
485      cblas_info = 4; RowMajorStrg = FALSE;
486      cblas_dtrsv(CblasColMajor, CblasUpper, CblasNoTrans,
487                  INVALID, 0, A, 1, X, 1 );
488      chkxer();
489      cblas_info = 5; RowMajorStrg = FALSE;
490      cblas_dtrsv(CblasColMajor, CblasUpper, CblasNoTrans,
491                  CblasNonUnit, INVALID, A, 1, X, 1 );
492      chkxer();
493      cblas_info = 7; RowMajorStrg = FALSE;
494      cblas_dtrsv(CblasColMajor, CblasUpper, CblasNoTrans,
495                  CblasNonUnit, 2, A, 1, X, 1 );
496      chkxer();
497      cblas_info = 9; RowMajorStrg = FALSE;
498      cblas_dtrsv(CblasColMajor, CblasUpper, CblasNoTrans,
499                  CblasNonUnit, 0, A, 1, X, 0 );
500      chkxer();
501      cblas_info = 2; RowMajorStrg = TRUE;
502      cblas_dtrsv(CblasRowMajor, INVALID, CblasNoTrans,
503                  CblasNonUnit, 0, A, 1, X, 1 );
504      chkxer();
505      cblas_info = 3; RowMajorStrg = TRUE;
506      cblas_dtrsv(CblasRowMajor, CblasUpper, INVALID,
507                  CblasNonUnit, 0, A, 1, X, 1 );
508      chkxer();
509      cblas_info = 4; RowMajorStrg = TRUE;
510      cblas_dtrsv(CblasRowMajor, CblasUpper, CblasNoTrans,
511                  INVALID, 0, A, 1, X, 1 );
512      chkxer();
513      cblas_info = 5; RowMajorStrg = TRUE;
514      cblas_dtrsv(CblasRowMajor, CblasUpper, CblasNoTrans,
515                  CblasNonUnit, INVALID, A, 1, X, 1 );
516      chkxer();
517      cblas_info = 7; RowMajorStrg = TRUE;
518      cblas_dtrsv(CblasRowMajor, CblasUpper, CblasNoTrans,
519                  CblasNonUnit, 2, A, 1, X, 1 );
520      chkxer();
521      cblas_info = 9; RowMajorStrg = TRUE;
522      cblas_dtrsv(CblasRowMajor, CblasUpper, CblasNoTrans,
523                  CblasNonUnit, 0, A, 1, X, 0 );
524      chkxer();
525   } else if (strncmp( sf,"cblas_dtbsv",11)==0) {
526      cblas_rout = "cblas_dtbsv";
527      cblas_info = 1; RowMajorStrg = FALSE;
528      cblas_dtbsv(INVALID, CblasUpper, CblasNoTrans,
529                  CblasNonUnit, 0, 0, A, 1, X, 1 );
530      chkxer();
531      cblas_info = 2; RowMajorStrg = FALSE;
532      cblas_dtbsv(CblasColMajor, INVALID, CblasNoTrans,
533                  CblasNonUnit, 0, 0, A, 1, X, 1 );
534      chkxer();
535      cblas_info = 3; RowMajorStrg = FALSE;
536      cblas_dtbsv(CblasColMajor, CblasUpper, INVALID,
537                  CblasNonUnit, 0, 0, A, 1, X, 1 );
538      chkxer();
539      cblas_info = 4; RowMajorStrg = FALSE;
540      cblas_dtbsv(CblasColMajor, CblasUpper, CblasNoTrans,
541                  INVALID, 0, 0, A, 1, X, 1 );
542      chkxer();
543      cblas_info = 5; RowMajorStrg = FALSE;
544      cblas_dtbsv(CblasColMajor, CblasUpper, CblasNoTrans,
545                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
546      chkxer();
547      cblas_info = 6; RowMajorStrg = FALSE;
548      cblas_dtbsv(CblasColMajor, CblasUpper, CblasNoTrans,
549                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
550      chkxer();
551      cblas_info = 8; RowMajorStrg = FALSE;
552      cblas_dtbsv(CblasColMajor, CblasUpper, CblasNoTrans,
553                  CblasNonUnit, 0, 1, A, 1, X, 1 );
554      chkxer();
555      cblas_info = 10; RowMajorStrg = FALSE;
556      cblas_dtbsv(CblasColMajor, CblasUpper, CblasNoTrans,
557                  CblasNonUnit, 0, 0, A, 1, X, 0 );
558      chkxer();
559      cblas_info = 2; RowMajorStrg = TRUE;
560      cblas_dtbsv(CblasRowMajor, INVALID, CblasNoTrans,
561                  CblasNonUnit, 0, 0, A, 1, X, 1 );
562      chkxer();
563      cblas_info = 3; RowMajorStrg = TRUE;
564      cblas_dtbsv(CblasRowMajor, CblasUpper, INVALID,
565                  CblasNonUnit, 0, 0, A, 1, X, 1 );
566      chkxer();
567      cblas_info = 4; RowMajorStrg = TRUE;
568      cblas_dtbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
569                  INVALID, 0, 0, A, 1, X, 1 );
570      chkxer();
571      cblas_info = 5; RowMajorStrg = TRUE;
572      cblas_dtbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
573                  CblasNonUnit, INVALID, 0, A, 1, X, 1 );
574      chkxer();
575      cblas_info = 6; RowMajorStrg = TRUE;
576      cblas_dtbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
577                  CblasNonUnit, 0, INVALID, A, 1, X, 1 );
578      chkxer();
579      cblas_info = 8; RowMajorStrg = TRUE;
580      cblas_dtbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
581                  CblasNonUnit, 0, 1, A, 1, X, 1 );
582      chkxer();
583      cblas_info = 10; RowMajorStrg = TRUE;
584      cblas_dtbsv(CblasRowMajor, CblasUpper, CblasNoTrans,
585                  CblasNonUnit, 0, 0, A, 1, X, 0 );
586      chkxer();
587   } else if (strncmp( sf,"cblas_dtpsv",11)==0) {
588      cblas_rout = "cblas_dtpsv";
589      cblas_info = 1; RowMajorStrg = FALSE;
590      cblas_dtpsv(INVALID, CblasUpper, CblasNoTrans,
591                  CblasNonUnit, 0, A, X, 1 );
592      chkxer();
593      cblas_info = 2; RowMajorStrg = FALSE;
594      cblas_dtpsv(CblasColMajor, INVALID, CblasNoTrans,
595                  CblasNonUnit, 0, A, X, 1 );
596      chkxer();
597      cblas_info = 3; RowMajorStrg = FALSE;
598      cblas_dtpsv(CblasColMajor, CblasUpper, INVALID,
599                  CblasNonUnit, 0, A, X, 1 );
600      chkxer();
601      cblas_info = 4; RowMajorStrg = FALSE;
602      cblas_dtpsv(CblasColMajor, CblasUpper, CblasNoTrans,
603                  INVALID, 0, A, X, 1 );
604      chkxer();
605      cblas_info = 5; RowMajorStrg = FALSE;
606      cblas_dtpsv(CblasColMajor, CblasUpper, CblasNoTrans,
607                  CblasNonUnit, INVALID, A, X, 1 );
608      chkxer();
609      cblas_info = 8; RowMajorStrg = FALSE;
610      cblas_dtpsv(CblasColMajor, CblasUpper, CblasNoTrans,
611                  CblasNonUnit, 0, A, X, 0 );
612      chkxer();
613      cblas_info = 2; RowMajorStrg = TRUE;
614      cblas_dtpsv(CblasRowMajor, INVALID, CblasNoTrans,
615                  CblasNonUnit, 0, A, X, 1 );
616      chkxer();
617      cblas_info = 3; RowMajorStrg = TRUE;
618      cblas_dtpsv(CblasRowMajor, CblasUpper, INVALID,
619                  CblasNonUnit, 0, A, X, 1 );
620      chkxer();
621      cblas_info = 4; RowMajorStrg = TRUE;
622      cblas_dtpsv(CblasRowMajor, CblasUpper, CblasNoTrans,
623                  INVALID, 0, A, X, 1 );
624      chkxer();
625      cblas_info = 5; RowMajorStrg = TRUE;
626      cblas_dtpsv(CblasRowMajor, CblasUpper, CblasNoTrans,
627                  CblasNonUnit, INVALID, A, X, 1 );
628      chkxer();
629      cblas_info = 8; RowMajorStrg = TRUE;
630      cblas_dtpsv(CblasRowMajor, CblasUpper, CblasNoTrans,
631                  CblasNonUnit, 0, A, X, 0 );
632      chkxer();
633   } else if (strncmp( sf,"cblas_dger",10)==0) {
634      cblas_rout = "cblas_dger";
635      cblas_info = 1; RowMajorStrg = FALSE;
636      cblas_dger(INVALID, 0, 0, ALPHA, X, 1, Y, 1, A, 1 );
637      chkxer();
638      cblas_info = 2; RowMajorStrg = FALSE;
639      cblas_dger(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
640      chkxer();
641      cblas_info = 3; RowMajorStrg = FALSE;
642      cblas_dger(CblasColMajor, 0, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
643      chkxer();
644      cblas_info = 6; RowMajorStrg = FALSE;
645      cblas_dger(CblasColMajor, 0, 0, ALPHA, X, 0, Y, 1, A, 1 );
646      chkxer();
647      cblas_info = 8; RowMajorStrg = FALSE;
648      cblas_dger(CblasColMajor, 0, 0, ALPHA, X, 1, Y, 0, A, 1 );
649      chkxer();
650      cblas_info = 10; RowMajorStrg = FALSE;
651      cblas_dger(CblasColMajor, 2, 0, ALPHA, X, 1, Y, 1, A, 1 );
652      chkxer();
653      cblas_info = 2; RowMajorStrg = TRUE;
654      cblas_dger(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
655      chkxer();
656      cblas_info = 3; RowMajorStrg = TRUE;
657      cblas_dger(CblasRowMajor, 0, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
658      chkxer();
659      cblas_info = 6; RowMajorStrg = TRUE;
660      cblas_dger(CblasRowMajor, 0, 0, ALPHA, X, 0, Y, 1, A, 1 );
661      chkxer();
662      cblas_info = 8; RowMajorStrg = TRUE;
663      cblas_dger(CblasRowMajor, 0, 0, ALPHA, X, 1, Y, 0, A, 1 );
664      chkxer();
665      cblas_info = 10; RowMajorStrg = TRUE;
666      cblas_dger(CblasRowMajor, 0, 2, ALPHA, X, 1, Y, 1, A, 1 );
667      chkxer();
668   } else if (strncmp( sf,"cblas_dsyr2",11)==0) {
669      cblas_rout = "cblas_dsyr2";
670      cblas_info = 1; RowMajorStrg = FALSE;
671      cblas_dsyr2(INVALID, CblasUpper, 0, ALPHA, X, 1, Y, 1, A, 1 );
672      chkxer();
673      cblas_info = 2; RowMajorStrg = FALSE;
674      cblas_dsyr2(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
675      chkxer();
676      cblas_info = 3; RowMajorStrg = FALSE;
677      cblas_dsyr2(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
678      chkxer();
679      cblas_info = 6; RowMajorStrg = FALSE;
680      cblas_dsyr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A, 1 );
681      chkxer();
682      cblas_info = 8; RowMajorStrg = FALSE;
683      cblas_dsyr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A, 1 );
684      chkxer();
685      cblas_info = 10; RowMajorStrg = FALSE;
686      cblas_dsyr2(CblasColMajor, CblasUpper, 2, ALPHA, X, 1, Y, 1, A, 1 );
687      chkxer();
688      cblas_info = 2; RowMajorStrg = TRUE;
689      cblas_dsyr2(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A, 1 );
690      chkxer();
691      cblas_info = 3; RowMajorStrg = TRUE;
692      cblas_dsyr2(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A, 1 );
693      chkxer();
694      cblas_info = 6; RowMajorStrg = TRUE;
695      cblas_dsyr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A, 1 );
696      chkxer();
697      cblas_info = 8; RowMajorStrg = TRUE;
698      cblas_dsyr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A, 1 );
699      chkxer();
700      cblas_info = 10; RowMajorStrg = TRUE;
701      cblas_dsyr2(CblasRowMajor, CblasUpper, 2, ALPHA, X, 1, Y, 1, A, 1 );
702      chkxer();
703   } else if (strncmp( sf,"cblas_dspr2",11)==0) {
704      cblas_rout = "cblas_dspr2";
705      cblas_info = 1; RowMajorStrg = FALSE;
706      cblas_dspr2(INVALID, CblasUpper, 0, ALPHA, X, 1, Y, 1, A );
707      chkxer();
708      cblas_info = 2; RowMajorStrg = FALSE;
709      cblas_dspr2(CblasColMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A );
710      chkxer();
711      cblas_info = 3; RowMajorStrg = FALSE;
712      cblas_dspr2(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A );
713      chkxer();
714      cblas_info = 6; RowMajorStrg = FALSE;
715      cblas_dspr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A );
716      chkxer();
717      cblas_info = 8; RowMajorStrg = FALSE;
718      cblas_dspr2(CblasColMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A );
719      chkxer();
720      cblas_info = 2; RowMajorStrg = TRUE;
721      cblas_dspr2(CblasRowMajor, INVALID, 0, ALPHA, X, 1, Y, 1, A );
722      chkxer();
723      cblas_info = 3; RowMajorStrg = TRUE;
724      cblas_dspr2(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, Y, 1, A );
725      chkxer();
726      cblas_info = 6; RowMajorStrg = TRUE;
727      cblas_dspr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, Y, 1, A );
728      chkxer();
729      cblas_info = 8; RowMajorStrg = TRUE;
730      cblas_dspr2(CblasRowMajor, CblasUpper, 0, ALPHA, X, 1, Y, 0, A );
731      chkxer();
732   } else if (strncmp( sf,"cblas_dsyr",10)==0) {
733      cblas_rout = "cblas_dsyr";
734      cblas_info = 1; RowMajorStrg = FALSE;
735      cblas_dsyr(INVALID, CblasUpper, 0, ALPHA, X, 1, A, 1 );
736      chkxer();
737      cblas_info = 2; RowMajorStrg = FALSE;
738      cblas_dsyr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A, 1 );
739      chkxer();
740      cblas_info = 3; RowMajorStrg = FALSE;
741      cblas_dsyr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A, 1 );
742      chkxer();
743      cblas_info = 6; RowMajorStrg = FALSE;
744      cblas_dsyr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A, 1 );
745      chkxer();
746      cblas_info = 8; RowMajorStrg = FALSE;
747      cblas_dsyr(CblasColMajor, CblasUpper, 2, ALPHA, X, 1, A, 1 );
748      chkxer();
749      cblas_info = 2; RowMajorStrg = TRUE;
750      cblas_dsyr(CblasRowMajor, INVALID, 0, ALPHA, X, 1, A, 1 );
751      chkxer();
752      cblas_info = 3; RowMajorStrg = TRUE;
753      cblas_dsyr(CblasRowMajor, CblasUpper, INVALID, ALPHA, X, 1, A, 1 );
754      chkxer();
755      cblas_info = 6; RowMajorStrg = TRUE;
756      cblas_dsyr(CblasRowMajor, CblasUpper, 0, ALPHA, X, 0, A, 1 );
757      chkxer();
758      cblas_info = 8; RowMajorStrg = TRUE;
759      cblas_dsyr(CblasRowMajor, CblasUpper, 2, ALPHA, X, 1, A, 1 );
760      chkxer();
761   } else if (strncmp( sf,"cblas_dspr",10)==0) {
762      cblas_rout = "cblas_dspr";
763      cblas_info = 1; RowMajorStrg = FALSE;
764      cblas_dspr(INVALID, CblasUpper, 0, ALPHA, X, 1, A );
765      chkxer();
766      cblas_info = 2; RowMajorStrg = FALSE;
767      cblas_dspr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A );
768      chkxer();
769      cblas_info = 3; RowMajorStrg = FALSE;
770      cblas_dspr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A );
771      chkxer();
772      cblas_info = 6; RowMajorStrg = FALSE;
773      cblas_dspr(CblasColMajor, CblasUpper, 0, ALPHA, X, 0, A );
774      chkxer();
775      cblas_info = 2; RowMajorStrg = FALSE;
776      cblas_dspr(CblasColMajor, INVALID, 0, ALPHA, X, 1, A );
777      chkxer();
778      cblas_info = 3; RowMajorStrg = FALSE;
779      cblas_dspr(CblasColMajor, CblasUpper, INVALID, ALPHA, X, 1, A );
780      chkxer();
781      cblas_info = 6; RowMajorStrg = FALSE;
782      cblas_dspr(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