Home | History | Annotate | Download | only in testing
      1 #include <stdio.h>
      2 #include <string.h>
      3 #include "cblas.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 }
    790