removed gemm3m functions from normal checks
authorWerner Saar <wernsaar@googlemail.com>
Tue, 5 May 2015 09:39:43 +0000 (11:39 +0200)
committerWerner Saar <wernsaar@googlemail.com>
Tue, 5 May 2015 09:39:43 +0000 (11:39 +0200)
ctest/c_c3chke.c
ctest/c_c3chke_3m.c [new file with mode: 0644]
ctest/c_cblas3.c
ctest/c_cblas3_3m.c [new file with mode: 0644]
ctest/c_z3chke.c
ctest/c_z3chke_3m.c [new file with mode: 0644]
ctest/c_zblas3.c
ctest/c_zblas3_3m.c [new file with mode: 0644]

index 4d5de51..3b4764c 100644 (file)
@@ -46,235 +46,7 @@ void  F77_c3chke(char *  rout) {
    }
 
 
-   if (strncmp( sf,"cblas_cgemm3m"   ,13)==0) {
-      cblas_rout = "cblas_cgemm3"   ;
-
-      cblas_info = 1;
-      cblas_cgemm3m( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 1;
-      cblas_cgemm3m( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 1;
-      cblas_cgemm3m( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 1;
-      cblas_cgemm3m( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 2; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 2; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 3; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 3; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9;  RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 2, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-
-   } else if (strncmp( sf,"cblas_cgemm"   ,11)==0) {
+   if (strncmp( sf,"cblas_cgemm"   ,11)==0) {
             cblas_rout = "cblas_cgemm"   ;
 
 
diff --git a/ctest/c_c3chke_3m.c b/ctest/c_c3chke_3m.c
new file mode 100644 (file)
index 0000000..4d5de51
--- /dev/null
@@ -0,0 +1,1936 @@
+#include <stdio.h>
+#include <string.h>
+#include "common.h"
+#include "cblas_test.h"
+
+int cblas_ok, cblas_lerr, cblas_info;
+int link_xerbla=TRUE;
+char *cblas_rout;
+
+#ifdef F77_Char
+void F77_xerbla(F77_Char F77_srname, void *vinfo);
+#else
+void F77_xerbla(char *srname, void *vinfo);
+#endif
+
+void chkxer(void) {
+   extern int cblas_ok, cblas_lerr, cblas_info;
+   extern int link_xerbla;
+   extern char *cblas_rout;
+   if (cblas_lerr == 1 ) {
+      printf("***** ILLEGAL VALUE OF PARAMETER NUMBER %d NOT DETECTED BY %s *****\n", cblas_info, cblas_rout);
+      cblas_ok = 0 ;
+   }
+   cblas_lerr = 1 ;
+}
+
+void  F77_c3chke(char *  rout) {
+   char *sf = ( rout ) ;
+   float   A[4]     = {0.0,0.0,0.0,0.0},
+           B[4]     = {0.0,0.0,0.0,0.0},
+           C[4]     = {0.0,0.0,0.0,0.0},
+           ALPHA[2] = {0.0,0.0},
+           BETA[2]  = {0.0,0.0},
+           RALPHA   = 0.0, RBETA = 0.0;
+   extern int cblas_info, cblas_lerr, cblas_ok;
+   extern int RowMajorStrg;
+   extern char *cblas_rout;
+
+   cblas_ok = TRUE ;
+   cblas_lerr = PASSED ;
+
+   if (link_xerbla) /* call these first to link */
+   {
+      cblas_xerbla(cblas_info,cblas_rout,"");
+      F77_xerbla(cblas_rout,&cblas_info);
+   }
+
+
+   if (strncmp( sf,"cblas_cgemm3m"   ,13)==0) {
+      cblas_rout = "cblas_cgemm3"   ;
+
+      cblas_info = 1;
+      cblas_cgemm3m( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_cgemm3m( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_cgemm3m( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_cgemm3m( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9;  RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_cgemm"   ,11)==0) {
+            cblas_rout = "cblas_cgemm"   ;
+
+
+      cblas_info = 1;
+      cblas_cgemm( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_cgemm( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_cgemm( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_cgemm( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_cgemm( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9;  RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_cgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_chemm"   ,11)==0) {
+            cblas_rout = "cblas_chemm"   ;
+
+      cblas_info = 1;
+      cblas_chemm( INVALID,  CblasRight, CblasLower, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  INVALID, CblasUpper, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_chemm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_chemm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_csymm"   ,11)==0) {
+            cblas_rout = "cblas_csymm"   ;
+
+      cblas_info = 1;
+      cblas_csymm( INVALID,  CblasRight, CblasLower, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  INVALID, CblasUpper, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csymm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csymm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_ctrmm"   ,11)==0) {
+            cblas_rout = "cblas_ctrmm"   ;
+
+      cblas_info = 1;
+      cblas_ctrmm( INVALID,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  INVALID, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, INVALID, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, INVALID,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   INVALID, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_ctrsm"   ,11)==0) {
+            cblas_rout = "cblas_ctrsm"   ;
+
+      cblas_info = 1;
+      cblas_ctrsm( INVALID,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  INVALID, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, INVALID, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, INVALID,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   INVALID, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ctrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ctrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_cherk"   ,11)==0) {
+            cblas_rout = "cblas_cherk"   ;
+
+      cblas_info = 1;
+      cblas_cherk(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasTrans, 0, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasConjTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasConjTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasConjTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasConjTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasConjTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_cherk(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_cherk(CblasColMajor,  CblasLower, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_csyrk"   ,11)==0) {
+            cblas_rout = "cblas_csyrk"   ;
+
+      cblas_info = 1;
+      cblas_csyrk(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_csyrk(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasUpper, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_csyrk(CblasColMajor,  CblasLower, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_cher2k"   ,12)==0) {
+            cblas_rout = "cblas_cher2k"   ;
+
+      cblas_info = 1;
+      cblas_cher2k(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasConjTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasConjTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasConjTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasConjTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasConjTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_cher2k(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_cher2k(CblasColMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_csyr2k"   ,12)==0) {
+            cblas_rout = "cblas_csyr2k"   ;
+
+      cblas_info = 1;
+      cblas_csyr2k(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_csyr2k(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_csyr2k(CblasColMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+
+   }
+
+   if (cblas_ok == 1 )
+       printf(" %-12s PASSED THE TESTS OF ERROR-EXITS\n", cblas_rout);
+   else
+       printf("***** %s FAILED THE TESTS OF ERROR-EXITS *******\n",cblas_rout);
+}
index f1b108c..9f48c49 100644 (file)
@@ -567,81 +567,3 @@ void F77_ctrsm(int *order, char *rtlf, char *uplow, char *transp, char *diagn,
 
 
 
-void F77_cgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
-     int *k, CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
-     CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
-     CBLAS_TEST_COMPLEX *c, int *ldc ) {
-
-  CBLAS_TEST_COMPLEX *A, *B, *C;
-  int i,j,LDA, LDB, LDC;
-  enum CBLAS_TRANSPOSE transa, transb;
-
-  get_transpose_type(transpa, &transa);
-  get_transpose_type(transpb, &transb);
-
-  if (*order == TEST_ROW_MJR) {
-     if (transa == CblasNoTrans) {
-        LDA = *k+1;
-        A=(CBLAS_TEST_COMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
-        for( i=0; i<*m; i++ )
-           for( j=0; j<*k; j++ ) {
-              A[i*LDA+j].real=a[j*(*lda)+i].real;
-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
-           }
-     }
-     else {
-        LDA = *m+1;
-        A=(CBLAS_TEST_COMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_COMPLEX));
-        for( i=0; i<*k; i++ )
-           for( j=0; j<*m; j++ ) {
-              A[i*LDA+j].real=a[j*(*lda)+i].real;
-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
-           }
-     }
-
-     if (transb == CblasNoTrans) {
-        LDB = *n+1;
-        B=(CBLAS_TEST_COMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_COMPLEX) );
-        for( i=0; i<*k; i++ )
-           for( j=0; j<*n; j++ ) {
-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
-           }
-     }
-     else {
-        LDB = *k+1;
-        B=(CBLAS_TEST_COMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_COMPLEX));
-        for( i=0; i<*n; i++ )
-           for( j=0; j<*k; j++ ) {
-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
-           }
-     }
-
-     LDC = *n+1;
-     C=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_COMPLEX));
-     for( j=0; j<*n; j++ )
-        for( i=0; i<*m; i++ ) {
-           C[i*LDC+j].real=c[j*(*ldc)+i].real;
-           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
-        }
-     cblas_cgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
-                  B, LDB, beta, C, LDC );
-     for( j=0; j<*n; j++ )
-        for( i=0; i<*m; i++ ) {
-           c[j*(*ldc)+i].real=C[i*LDC+j].real;
-           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
-        }
-     free(A);
-     free(B);
-     free(C);
-  }
-  else if (*order == TEST_COL_MJR)
-     cblas_cgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
-                  b, *ldb, beta, c, *ldc );
-  else
-     cblas_cgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
-                  b, *ldb, beta, c, *ldc );
-}
-
-
diff --git a/ctest/c_cblas3_3m.c b/ctest/c_cblas3_3m.c
new file mode 100644 (file)
index 0000000..f1b108c
--- /dev/null
@@ -0,0 +1,647 @@
+/*
+ *     Written by D.P. Manley, Digital Equipment Corporation.
+ *     Prefixed "C_" to BLAS routines and their declarations.
+ *
+ *     Modified by T. H. Do, 4/15/98, SGI/CRAY Research.
+ */
+#include <stdlib.h>
+#include "common.h"
+#include "cblas_test.h"
+
+#define  TEST_COL_MJR  0
+#define  TEST_ROW_MJR  1
+#define  UNDEFINED     -1
+
+void F77_cgemm(int *order, char *transpa, char *transpb, int *m, int *n,
+     int *k, CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+     CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
+     CBLAS_TEST_COMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_COMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_TRANSPOSE transa, transb;
+
+  get_transpose_type(transpa, &transa);
+  get_transpose_type(transpb, &transb);
+
+  if (*order == TEST_ROW_MJR) {
+     if (transa == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_COMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else {
+        LDA = *m+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+
+     if (transb == CblasNoTrans) {
+        LDB = *n+1;
+        B=(CBLAS_TEST_COMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_COMPLEX) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDB = *k+1;
+        B=(CBLAS_TEST_COMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_COMPLEX));
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_cgemm( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+                  B, LDB, beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_cgemm( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+  else
+     cblas_cgemm( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+}
+
+void F77_chemm(int *order, char *rtlf, char *uplow, int *m, int *n,
+        CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+       CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
+        CBLAS_TEST_COMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_COMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_SIDE side;
+
+  get_uplo_type(uplow,&uplo);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A= (CBLAS_TEST_COMPLEX* )malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX ) );
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_COMPLEX* )malloc( (*m)*LDB*sizeof(CBLAS_TEST_COMPLEX ) );
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ ) {
+           B[i*LDB+j].real=b[j*(*ldb)+i].real;
+           B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+        }
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_COMPLEX ) );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_chemm( CblasRowMajor, side, uplo, *m, *n, alpha, A, LDA, B, LDB,
+                  beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_chemm( CblasColMajor, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+  else
+     cblas_chemm( UNDEFINED, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+}
+void F77_csymm(int *order, char *rtlf, char *uplow, int *m, int *n,
+          CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+         CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
+          CBLAS_TEST_COMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_COMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_SIDE side;
+
+  get_uplo_type(uplow,&uplo);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ )
+              A[i*LDA+j]=a[j*(*lda)+i];
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX ) );
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ )
+              A[i*LDA+j]=a[j*(*lda)+i];
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDB*sizeof(CBLAS_TEST_COMPLEX ));
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ )
+           B[i*LDB+j]=b[j*(*ldb)+i];
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_COMPLEX));
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ )
+           C[i*LDC+j]=c[j*(*ldc)+i];
+     cblas_csymm( CblasRowMajor, side, uplo, *m, *n, alpha, A, LDA, B, LDB,
+                  beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ )
+           c[j*(*ldc)+i]=C[i*LDC+j];
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_csymm( CblasColMajor, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+  else
+     cblas_csymm( UNDEFINED, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+}
+
+void F77_cherk(int *order, char *uplow, char *transp, int *n, int *k,
+     float *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+     float *beta, CBLAS_TEST_COMPLEX *c, int *ldc ) {
+
+  int i,j,LDA,LDC;
+  CBLAS_TEST_COMPLEX *A, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX ) );
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*k)*LDA*sizeof(CBLAS_TEST_COMPLEX ) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDC*sizeof(CBLAS_TEST_COMPLEX ) );
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_cherk(CblasRowMajor, uplo, trans, *n, *k, *alpha, A, LDA, *beta,
+                C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_cherk(CblasColMajor, uplo, trans, *n, *k, *alpha, a, *lda, *beta,
+                c, *ldc );
+  else
+     cblas_cherk(UNDEFINED, uplo, trans, *n, *k, *alpha, a, *lda, *beta,
+                c, *ldc );
+}
+
+void F77_csyrk(int *order, char *uplow, char *transp, int *n, int *k,
+     CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+     CBLAS_TEST_COMPLEX *beta, CBLAS_TEST_COMPLEX *c, int *ldc ) {
+
+  int i,j,LDA,LDC;
+  CBLAS_TEST_COMPLEX *A, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*k)*LDA*sizeof(CBLAS_TEST_COMPLEX ) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDC*sizeof(CBLAS_TEST_COMPLEX ) );
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_csyrk(CblasRowMajor, uplo, trans, *n, *k, alpha, A, LDA, beta,
+                C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_csyrk(CblasColMajor, uplo, trans, *n, *k, alpha, a, *lda, beta,
+                c, *ldc );
+  else
+     cblas_csyrk(UNDEFINED, uplo, trans, *n, *k, alpha, a, *lda, beta,
+                c, *ldc );
+}
+void F77_cher2k(int *order, char *uplow, char *transp, int *n, int *k,
+        CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+       CBLAS_TEST_COMPLEX *b, int *ldb, float *beta,
+        CBLAS_TEST_COMPLEX *c, int *ldc ) {
+  int i,j,LDA,LDB,LDC;
+  CBLAS_TEST_COMPLEX *A, *B, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        LDB = *k+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX ));
+        B=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDB*sizeof(CBLAS_TEST_COMPLEX ));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDA = *n+1;
+        LDB = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc( LDA*(*k)*sizeof(CBLAS_TEST_COMPLEX ) );
+        B=(CBLAS_TEST_COMPLEX* )malloc( LDB*(*k)*sizeof(CBLAS_TEST_COMPLEX ) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ){
+             A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc( (*n)*LDC*sizeof(CBLAS_TEST_COMPLEX ) );
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_cher2k(CblasRowMajor, uplo, trans, *n, *k, alpha, A, LDA,
+                 B, LDB, *beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_cher2k(CblasColMajor, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, *beta, c, *ldc );
+  else
+     cblas_cher2k(UNDEFINED, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, *beta, c, *ldc );
+}
+void F77_csyr2k(int *order, char *uplow, char *transp, int *n, int *k,
+         CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+        CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
+         CBLAS_TEST_COMPLEX *c, int *ldc ) {
+  int i,j,LDA,LDB,LDC;
+  CBLAS_TEST_COMPLEX *A, *B, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        LDB = *k+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        B=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDB*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDA = *n+1;
+        LDB = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_COMPLEX));
+        B=(CBLAS_TEST_COMPLEX* )malloc(LDB*(*k)*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ){
+             A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc( (*n)*LDC*sizeof(CBLAS_TEST_COMPLEX));
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_csyr2k(CblasRowMajor, uplo, trans, *n, *k, alpha, A, LDA,
+                 B, LDB, beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_csyr2k(CblasColMajor, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+  else
+     cblas_csyr2k(UNDEFINED, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+}
+void F77_ctrmm(int *order, char *rtlf, char *uplow, char *transp, char *diagn,
+       int *m, int *n, CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a,
+       int *lda, CBLAS_TEST_COMPLEX *b, int *ldb) {
+  int i,j,LDA,LDB;
+  CBLAS_TEST_COMPLEX *A, *B;
+  enum CBLAS_SIDE side;
+  enum CBLAS_DIAG diag;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+  get_diag_type(diagn,&diag);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDB*sizeof(CBLAS_TEST_COMPLEX));
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ ) {
+           B[i*LDB+j].real=b[j*(*ldb)+i].real;
+           B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+        }
+     cblas_ctrmm(CblasRowMajor, side, uplo, trans, diag, *m, *n, alpha,
+                A, LDA, B, LDB );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           b[j*(*ldb)+i].real=B[i*LDB+j].real;
+           b[j*(*ldb)+i].imag=B[i*LDB+j].imag;
+        }
+     free(A);
+     free(B);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_ctrmm(CblasColMajor, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+  else
+     cblas_ctrmm(UNDEFINED, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+}
+
+void F77_ctrsm(int *order, char *rtlf, char *uplow, char *transp, char *diagn,
+         int *m, int *n, CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a,
+         int *lda, CBLAS_TEST_COMPLEX *b, int *ldb) {
+  int i,j,LDA,LDB;
+  CBLAS_TEST_COMPLEX *A, *B;
+  enum CBLAS_SIDE side;
+  enum CBLAS_DIAG diag;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+  get_diag_type(diagn,&diag);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc( (*m)*LDA*sizeof(CBLAS_TEST_COMPLEX ) );
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDB*sizeof(CBLAS_TEST_COMPLEX));
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ ) {
+           B[i*LDB+j].real=b[j*(*ldb)+i].real;
+           B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+        }
+     cblas_ctrsm(CblasRowMajor, side, uplo, trans, diag, *m, *n, alpha,
+                A, LDA, B, LDB );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           b[j*(*ldb)+i].real=B[i*LDB+j].real;
+           b[j*(*ldb)+i].imag=B[i*LDB+j].imag;
+        }
+     free(A);
+     free(B);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_ctrsm(CblasColMajor, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+  else
+     cblas_ctrsm(UNDEFINED, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+}
+
+
+
+void F77_cgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
+     int *k, CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+     CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
+     CBLAS_TEST_COMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_COMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_TRANSPOSE transa, transb;
+
+  get_transpose_type(transpa, &transa);
+  get_transpose_type(transpb, &transb);
+
+  if (*order == TEST_ROW_MJR) {
+     if (transa == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_COMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else {
+        LDA = *m+1;
+        A=(CBLAS_TEST_COMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+
+     if (transb == CblasNoTrans) {
+        LDB = *n+1;
+        B=(CBLAS_TEST_COMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_COMPLEX) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDB = *k+1;
+        B=(CBLAS_TEST_COMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_COMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+
+     LDC = *n+1;
+     C=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_COMPLEX));
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_cgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+                  B, LDB, beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_cgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+  else
+     cblas_cgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+}
+
+
index 4be4457..054e723 100644 (file)
@@ -49,237 +49,7 @@ void  F77_z3chke(char *  rout) {
 
 
 
-   if (strncmp( sf,"cblas_zgemm3m"   ,13)==0) {
-      cblas_rout = "cblas_zgemm3"   ;
-
-      cblas_info = 1;
-      cblas_zgemm3m( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 1;
-      cblas_zgemm3m( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 1;
-      cblas_zgemm3m( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 1;
-      cblas_zgemm3m( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 2; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 2; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 3; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 3; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = FALSE;
-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 4; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 5; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 6; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9;  RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 2, BETA, C, 2 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 9; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 11; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
-      chkxer();
-      cblas_info = 14; RowMajorStrg = TRUE;
-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
-      chkxer();
-
-
-
-   } else if (strncmp( sf,"cblas_zgemm"   ,11)==0) {
+   if (strncmp( sf,"cblas_zgemm"   ,11)==0) {
             cblas_rout = "cblas_zgemm"   ;
 
       cblas_info = 1;
diff --git a/ctest/c_z3chke_3m.c b/ctest/c_z3chke_3m.c
new file mode 100644 (file)
index 0000000..4be4457
--- /dev/null
@@ -0,0 +1,1940 @@
+#include <stdio.h>
+#include <string.h>
+#include "common.h"
+#include "cblas_test.h"
+
+int cblas_ok, cblas_lerr, cblas_info;
+int link_xerbla=TRUE;
+char *cblas_rout;
+
+#ifdef F77_Char
+void F77_xerbla(F77_Char F77_srname, void *vinfo);
+#else
+void F77_xerbla(char *srname, void *vinfo);
+#endif
+
+void chkxer(void) {
+   extern int cblas_ok, cblas_lerr, cblas_info;
+   extern int link_xerbla;
+   extern char *cblas_rout;
+   if (cblas_lerr == 1 ) {
+      printf("***** ILLEGAL VALUE OF PARAMETER NUMBER %d NOT DETECTED BY %s *****\n", cblas_info, cblas_rout);
+      cblas_ok = 0 ;
+   }
+   cblas_lerr = 1 ;
+}
+
+void  F77_z3chke(char *  rout) {
+   char *sf = ( rout ) ;
+   double  A[4]     = {0.0,0.0,0.0,0.0},
+           B[4]     = {0.0,0.0,0.0,0.0},
+           C[4]     = {0.0,0.0,0.0,0.0},
+           ALPHA[2] = {0.0,0.0},
+           BETA[2]  = {0.0,0.0},
+           RALPHA   = 0.0, RBETA = 0.0;
+   extern int cblas_info, cblas_lerr, cblas_ok;
+   extern int RowMajorStrg;
+   extern char *cblas_rout;
+
+   cblas_ok = TRUE ;
+   cblas_lerr = PASSED ;
+
+   if (link_xerbla) /* call these first to link */
+   {
+      cblas_xerbla(cblas_info,cblas_rout,"");
+      F77_xerbla(cblas_rout,&cblas_info);
+   }
+
+
+
+
+
+   if (strncmp( sf,"cblas_zgemm3m"   ,13)==0) {
+      cblas_rout = "cblas_zgemm3"   ;
+
+      cblas_info = 1;
+      cblas_zgemm3m( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_zgemm3m( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_zgemm3m( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_zgemm3m( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9;  RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+
+
+
+   } else if (strncmp( sf,"cblas_zgemm"   ,11)==0) {
+            cblas_rout = "cblas_zgemm"   ;
+
+      cblas_info = 1;
+      cblas_zgemm( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_zgemm( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_zgemm( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 1;
+      cblas_zgemm( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = FALSE;
+      cblas_zgemm( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9;  RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 9; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 14; RowMajorStrg = TRUE;
+      cblas_zgemm( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_zhemm"   ,11)==0) {
+            cblas_rout = "cblas_zhemm"   ;
+
+      cblas_info = 1;
+      cblas_zhemm( INVALID,  CblasRight, CblasLower, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  INVALID, CblasUpper, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zhemm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zhemm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_zsymm"   ,11)==0) {
+            cblas_rout = "cblas_zsymm"   ;
+
+      cblas_info = 1;
+      cblas_zsymm( INVALID,  CblasRight, CblasLower, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  INVALID, CblasUpper, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, INVALID, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsymm( CblasColMajor,  CblasRight, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasUpper, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasLower, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasUpper, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasLower, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasUpper, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasLower, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasUpper, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasUpper, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasLeft, CblasLower, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsymm( CblasRowMajor,  CblasRight, CblasLower, 0, 2,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_ztrmm"   ,11)==0) {
+            cblas_rout = "cblas_ztrmm"   ;
+
+      cblas_info = 1;
+      cblas_ztrmm( INVALID,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  INVALID, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, INVALID, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, INVALID,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   INVALID, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrmm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrmm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_ztrsm"   ,11)==0) {
+            cblas_rout = "cblas_ztrsm"   ;
+
+      cblas_info = 1;
+      cblas_ztrsm( INVALID,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  INVALID, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, INVALID, CblasNoTrans,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, INVALID,
+                   CblasNonUnit, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   INVALID, 0, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = FALSE;
+      cblas_ztrsm( CblasColMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 6; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, INVALID, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 7; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, INVALID, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 2, 0, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 2 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasUpper, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasLeft, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 1, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasNoTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+      cblas_info = 12; RowMajorStrg = TRUE;
+      cblas_ztrsm( CblasRowMajor,  CblasRight, CblasLower, CblasTrans,
+                   CblasNonUnit, 0, 2, ALPHA, A, 2, B, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_zherk"   ,11)==0) {
+            cblas_rout = "cblas_zherk"   ;
+
+      cblas_info = 1;
+      cblas_zherk(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasTrans, 0, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasConjTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasConjTrans, INVALID, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasConjTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasConjTrans, 0, INVALID,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasConjTrans, 0, 2,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zherk(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  RALPHA, A, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zherk(CblasColMajor,  CblasLower, CblasConjTrans, 2, 0,
+                  RALPHA, A, 1, RBETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_zsyrk"   ,11)==0) {
+            cblas_rout = "cblas_zsyrk"   ;
+
+      cblas_info = 1;
+      cblas_zsyrk(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasTrans, INVALID, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasTrans, 0, INVALID,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasTrans, 0, 2,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = TRUE;
+      cblas_zsyrk(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasUpper, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                  ALPHA, A, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 11; RowMajorStrg = FALSE;
+      cblas_zsyrk(CblasColMajor,  CblasLower, CblasTrans, 2, 0,
+                  ALPHA, A, 1, BETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_zher2k"   ,12)==0) {
+            cblas_rout = "cblas_zher2k"   ;
+
+      cblas_info = 1;
+      cblas_zher2k(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasConjTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasConjTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasConjTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasConjTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, RBETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasConjTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zher2k(CblasRowMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasUpper, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, RBETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zher2k(CblasColMajor,  CblasLower, CblasConjTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, RBETA, C, 1 );
+      chkxer();
+
+   } else if (strncmp( sf,"cblas_zsyr2k"   ,12)==0) {
+            cblas_rout = "cblas_zsyr2k"   ;
+
+      cblas_info = 1;
+      cblas_zsyr2k(INVALID,  CblasUpper, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 2; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  INVALID, CblasNoTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 3; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasConjTrans, 0, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasNoTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 4; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasTrans, INVALID, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 5; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasTrans, 0, INVALID,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 8; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasTrans, 0, 2,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasLower, CblasNoTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 1, BETA, C, 2 );
+      chkxer();
+      cblas_info = 10; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasTrans, 0, 2,
+                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = TRUE;
+      cblas_zsyr2k(CblasRowMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasUpper, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasNoTrans, 2, 0,
+                   ALPHA, A, 2, B, 2, BETA, C, 1 );
+      chkxer();
+      cblas_info = 13; RowMajorStrg = FALSE;
+      cblas_zsyr2k(CblasColMajor,  CblasLower, CblasTrans, 2, 0,
+                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+      chkxer();
+
+   }
+
+   if (cblas_ok == 1 )
+       printf(" %-12s PASSED THE TESTS OF ERROR-EXITS\n", cblas_rout);
+   else
+       printf("***** %s FAILED THE TESTS OF ERROR-EXITS *******\n",cblas_rout);
+}
index 46ff467..40afa4e 100644 (file)
@@ -564,80 +564,3 @@ void F77_ztrsm(int *order, char *rtlf, char *uplow, char *transp, char *diagn,
 }
 
 
-void F77_zgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
-     int *k, CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
-     CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
-     CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
-
-  CBLAS_TEST_ZOMPLEX *A, *B, *C;
-  int i,j,LDA, LDB, LDC;
-  enum CBLAS_TRANSPOSE transa, transb;
-
-  get_transpose_type(transpa, &transa);
-  get_transpose_type(transpb, &transb);
-
-  if (*order == TEST_ROW_MJR) {
-     if (transa == CblasNoTrans) {
-        LDA = *k+1;
-        A=(CBLAS_TEST_ZOMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
-        for( i=0; i<*m; i++ )
-           for( j=0; j<*k; j++ ) {
-              A[i*LDA+j].real=a[j*(*lda)+i].real;
-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
-           }
-     }
-     else {
-        LDA = *m+1;
-        A=(CBLAS_TEST_ZOMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_ZOMPLEX));
-        for( i=0; i<*k; i++ )
-           for( j=0; j<*m; j++ ) {
-              A[i*LDA+j].real=a[j*(*lda)+i].real;
-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
-           }
-     }
-
-     if (transb == CblasNoTrans) {
-        LDB = *n+1;
-        B=(CBLAS_TEST_ZOMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_ZOMPLEX) );
-        for( i=0; i<*k; i++ )
-           for( j=0; j<*n; j++ ) {
-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
-           }
-     }
-     else {
-        LDB = *k+1;
-        B=(CBLAS_TEST_ZOMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_ZOMPLEX));
-        for( i=0; i<*n; i++ )
-           for( j=0; j<*k; j++ ) {
-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
-           }
-     }
-
-     LDC = *n+1;
-     C=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_ZOMPLEX));
-     for( j=0; j<*n; j++ )
-        for( i=0; i<*m; i++ ) {
-           C[i*LDC+j].real=c[j*(*ldc)+i].real;
-           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
-        }
-     cblas_zgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
-                  B, LDB, beta, C, LDC );
-     for( j=0; j<*n; j++ )
-        for( i=0; i<*m; i++ ) {
-           c[j*(*ldc)+i].real=C[i*LDC+j].real;
-           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
-        }
-     free(A);
-     free(B);
-     free(C);
-  }
-  else if (*order == TEST_COL_MJR)
-     cblas_zgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
-                  b, *ldb, beta, c, *ldc );
-  else
-     cblas_zgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
-                  b, *ldb, beta, c, *ldc );
-}
-
diff --git a/ctest/c_zblas3_3m.c b/ctest/c_zblas3_3m.c
new file mode 100644 (file)
index 0000000..46ff467
--- /dev/null
@@ -0,0 +1,643 @@
+/*
+ *     Written by D.P. Manley, Digital Equipment Corporation.
+ *     Prefixed "C_" to BLAS routines and their declarations.
+ *
+ *     Modified by T. H. Do, 4/15/98, SGI/CRAY Research.
+ */
+#include <stdlib.h>
+#include "common.h"
+#include "cblas_test.h"
+#define  TEST_COL_MJR  0
+#define  TEST_ROW_MJR  1
+#define  UNDEFINED     -1
+
+void F77_zgemm(int *order, char *transpa, char *transpb, int *m, int *n,
+     int *k, CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+     CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
+     CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_ZOMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_TRANSPOSE transa, transb;
+
+  get_transpose_type(transpa, &transa);
+  get_transpose_type(transpb, &transb);
+
+  if (*order == TEST_ROW_MJR) {
+     if (transa == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_ZOMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else {
+        LDA = *m+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+
+     if (transb == CblasNoTrans) {
+        LDB = *n+1;
+        B=(CBLAS_TEST_ZOMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_ZOMPLEX) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDB = *k+1;
+        B=(CBLAS_TEST_ZOMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_ZOMPLEX));
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_zgemm( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+                  B, LDB, beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zgemm( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+  else
+     cblas_zgemm( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+}
+void F77_zhemm(int *order, char *rtlf, char *uplow, int *m, int *n,
+        CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+       CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
+        CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_ZOMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_SIDE side;
+
+  get_uplo_type(uplow,&uplo);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A= (CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_ZOMPLEX* )malloc( (*m)*LDB*sizeof(CBLAS_TEST_ZOMPLEX ) );
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ ) {
+           B[i*LDB+j].real=b[j*(*ldb)+i].real;
+           B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+        }
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_ZOMPLEX ) );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_zhemm( CblasRowMajor, side, uplo, *m, *n, alpha, A, LDA, B, LDB,
+                  beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zhemm( CblasColMajor, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+  else
+     cblas_zhemm( UNDEFINED, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+}
+void F77_zsymm(int *order, char *rtlf, char *uplow, int *m, int *n,
+          CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+         CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
+          CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_ZOMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_SIDE side;
+
+  get_uplo_type(uplow,&uplo);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ )
+              A[i*LDA+j]=a[j*(*lda)+i];
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ )
+              A[i*LDA+j]=a[j*(*lda)+i];
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDB*sizeof(CBLAS_TEST_ZOMPLEX ));
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ )
+           B[i*LDB+j]=b[j*(*ldb)+i];
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_ZOMPLEX));
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ )
+           C[i*LDC+j]=c[j*(*ldc)+i];
+     cblas_zsymm( CblasRowMajor, side, uplo, *m, *n, alpha, A, LDA, B, LDB,
+                  beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ )
+           c[j*(*ldc)+i]=C[i*LDC+j];
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zsymm( CblasColMajor, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+  else
+     cblas_zsymm( UNDEFINED, side, uplo, *m, *n, alpha, a, *lda, b, *ldb,
+                  beta, c, *ldc );
+}
+
+void F77_zherk(int *order, char *uplow, char *transp, int *n, int *k,
+     double *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+     double *beta, CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+
+  int i,j,LDA,LDC;
+  CBLAS_TEST_ZOMPLEX *A, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*k)*LDA*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDC*sizeof(CBLAS_TEST_ZOMPLEX ) );
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_zherk(CblasRowMajor, uplo, trans, *n, *k, *alpha, A, LDA, *beta,
+                C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zherk(CblasColMajor, uplo, trans, *n, *k, *alpha, a, *lda, *beta,
+                c, *ldc );
+  else
+     cblas_zherk(UNDEFINED, uplo, trans, *n, *k, *alpha, a, *lda, *beta,
+                c, *ldc );
+}
+
+void F77_zsyrk(int *order, char *uplow, char *transp, int *n, int *k,
+     CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+     CBLAS_TEST_ZOMPLEX *beta, CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+
+  int i,j,LDA,LDC;
+  CBLAS_TEST_ZOMPLEX *A, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*k)*LDA*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDC*sizeof(CBLAS_TEST_ZOMPLEX ) );
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_zsyrk(CblasRowMajor, uplo, trans, *n, *k, alpha, A, LDA, beta,
+                C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zsyrk(CblasColMajor, uplo, trans, *n, *k, alpha, a, *lda, beta,
+                c, *ldc );
+  else
+     cblas_zsyrk(UNDEFINED, uplo, trans, *n, *k, alpha, a, *lda, beta,
+                c, *ldc );
+}
+void F77_zher2k(int *order, char *uplow, char *transp, int *n, int *k,
+        CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+       CBLAS_TEST_ZOMPLEX *b, int *ldb, double *beta,
+        CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+  int i,j,LDA,LDB,LDC;
+  CBLAS_TEST_ZOMPLEX *A, *B, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        LDB = *k+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX ));
+        B=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDB*sizeof(CBLAS_TEST_ZOMPLEX ));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDA = *n+1;
+        LDB = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc( LDA*(*k)*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        B=(CBLAS_TEST_ZOMPLEX* )malloc( LDB*(*k)*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ){
+             A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc( (*n)*LDC*sizeof(CBLAS_TEST_ZOMPLEX ) );
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_zher2k(CblasRowMajor, uplo, trans, *n, *k, alpha, A, LDA,
+                 B, LDB, *beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zher2k(CblasColMajor, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, *beta, c, *ldc );
+  else
+     cblas_zher2k(UNDEFINED, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, *beta, c, *ldc );
+}
+void F77_zsyr2k(int *order, char *uplow, char *transp, int *n, int *k,
+         CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+        CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
+         CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+  int i,j,LDA,LDB,LDC;
+  CBLAS_TEST_ZOMPLEX *A, *B, *C;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+
+  if (*order == TEST_ROW_MJR) {
+     if (trans == CblasNoTrans) {
+        LDA = *k+1;
+        LDB = *k+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        B=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDB*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDA = *n+1;
+        LDB = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_ZOMPLEX));
+        B=(CBLAS_TEST_ZOMPLEX* )malloc(LDB*(*k)*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ){
+             A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc( (*n)*LDC*sizeof(CBLAS_TEST_ZOMPLEX));
+     for( i=0; i<*n; i++ )
+        for( j=0; j<*n; j++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_zsyr2k(CblasRowMajor, uplo, trans, *n, *k, alpha, A, LDA,
+                 B, LDB, beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*n; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zsyr2k(CblasColMajor, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+  else
+     cblas_zsyr2k(UNDEFINED, uplo, trans, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+}
+void F77_ztrmm(int *order, char *rtlf, char *uplow, char *transp, char *diagn,
+       int *m, int *n, CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a,
+       int *lda, CBLAS_TEST_ZOMPLEX *b, int *ldb) {
+  int i,j,LDA,LDB;
+  CBLAS_TEST_ZOMPLEX *A, *B;
+  enum CBLAS_SIDE side;
+  enum CBLAS_DIAG diag;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+  get_diag_type(diagn,&diag);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDB*sizeof(CBLAS_TEST_ZOMPLEX));
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ ) {
+           B[i*LDB+j].real=b[j*(*ldb)+i].real;
+           B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+        }
+     cblas_ztrmm(CblasRowMajor, side, uplo, trans, diag, *m, *n, alpha,
+                A, LDA, B, LDB );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           b[j*(*ldb)+i].real=B[i*LDB+j].real;
+           b[j*(*ldb)+i].imag=B[i*LDB+j].imag;
+        }
+     free(A);
+     free(B);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_ztrmm(CblasColMajor, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+  else
+     cblas_ztrmm(UNDEFINED, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+}
+
+void F77_ztrsm(int *order, char *rtlf, char *uplow, char *transp, char *diagn,
+         int *m, int *n, CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a,
+         int *lda, CBLAS_TEST_ZOMPLEX *b, int *ldb) {
+  int i,j,LDA,LDB;
+  CBLAS_TEST_ZOMPLEX *A, *B;
+  enum CBLAS_SIDE side;
+  enum CBLAS_DIAG diag;
+  enum CBLAS_UPLO uplo;
+  enum CBLAS_TRANSPOSE trans;
+
+  get_uplo_type(uplow,&uplo);
+  get_transpose_type(transp,&trans);
+  get_diag_type(diagn,&diag);
+  get_side_type(rtlf,&side);
+
+  if (*order == TEST_ROW_MJR) {
+     if (side == CblasLeft) {
+        LDA = *m+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc( (*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX ) );
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else{
+        LDA = *n+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc((*n)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*n; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     LDB = *n+1;
+     B=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDB*sizeof(CBLAS_TEST_ZOMPLEX));
+     for( i=0; i<*m; i++ )
+        for( j=0; j<*n; j++ ) {
+           B[i*LDB+j].real=b[j*(*ldb)+i].real;
+           B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+        }
+     cblas_ztrsm(CblasRowMajor, side, uplo, trans, diag, *m, *n, alpha,
+                A, LDA, B, LDB );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           b[j*(*ldb)+i].real=B[i*LDB+j].real;
+           b[j*(*ldb)+i].imag=B[i*LDB+j].imag;
+        }
+     free(A);
+     free(B);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_ztrsm(CblasColMajor, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+  else
+     cblas_ztrsm(UNDEFINED, side, uplo, trans, diag, *m, *n, alpha,
+                  a, *lda, b, *ldb);
+}
+
+
+void F77_zgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
+     int *k, CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+     CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
+     CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+
+  CBLAS_TEST_ZOMPLEX *A, *B, *C;
+  int i,j,LDA, LDB, LDC;
+  enum CBLAS_TRANSPOSE transa, transb;
+
+  get_transpose_type(transpa, &transa);
+  get_transpose_type(transpb, &transb);
+
+  if (*order == TEST_ROW_MJR) {
+     if (transa == CblasNoTrans) {
+        LDA = *k+1;
+        A=(CBLAS_TEST_ZOMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*m; i++ )
+           for( j=0; j<*k; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+     else {
+        LDA = *m+1;
+        A=(CBLAS_TEST_ZOMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*m; j++ ) {
+              A[i*LDA+j].real=a[j*(*lda)+i].real;
+              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+           }
+     }
+
+     if (transb == CblasNoTrans) {
+        LDB = *n+1;
+        B=(CBLAS_TEST_ZOMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_ZOMPLEX) );
+        for( i=0; i<*k; i++ )
+           for( j=0; j<*n; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+     else {
+        LDB = *k+1;
+        B=(CBLAS_TEST_ZOMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_ZOMPLEX));
+        for( i=0; i<*n; i++ )
+           for( j=0; j<*k; j++ ) {
+              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+           }
+     }
+
+     LDC = *n+1;
+     C=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_ZOMPLEX));
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+        }
+     cblas_zgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+                  B, LDB, beta, C, LDC );
+     for( j=0; j<*n; j++ )
+        for( i=0; i<*m; i++ ) {
+           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+        }
+     free(A);
+     free(B);
+     free(C);
+  }
+  else if (*order == TEST_COL_MJR)
+     cblas_zgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+  else
+     cblas_zgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+                  b, *ldb, beta, c, *ldc );
+}
+