Used the environment variable OPENBLAS_NUM_THREADS to set the number of threads in...
[platform/upstream/openblas.git] / ctest / c_d2chke.c
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
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
27 void 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 }